{
  "status": "completed",
  "completed_count": 29,
  "applicable_count": 29,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At the man's eye height, about 0.8 meters in front of him, moving backward along his path with nearby branches between the lens and his face",
            "stage_index": 1,
            "stage_label": "frontal_pursuit",
            "transition_to_next": "The camera lowers and shifts around his side while maintaining forward movement, redirecting its view from his face toward his injured leg.",
            "visual_focus": "The frightened face of the Geumwolsan male victim as he pushes through the vegetation"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "At thigh height beside the man, about 0.6 meters from him, angled downward as his balance breaks and he falls",
            "stage_index": 2,
            "stage_label": "collapse",
            "transition_to_next": "Following the fall, the camera tracks downward and arcs laterally to settle near ground level beside him, then turns toward the direction of the incoming figure.",
            "visual_focus": "The bitten thigh, the missing shoe, and the Geumwolsan male victim collapsing to the ground"
          },
          {
            "camera_motion": "static",
            "camera_position": "About 0.4 meters above the ground and 2.5 meters to the side of the fallen man, aimed across his body toward the incoming figure's path",
            "stage_index": 3,
            "stage_label": "attack_reveal",
            "transition_to_next": "",
            "visual_focus": "The dark silhouette crossing the air with both arms extended toward the fallen Geumwolsan male victim"
          }
        ],
        "flow_summary": "카메라는 수풀 사이로 도망치는 금월산 남성 피해자의 얼굴 앞에서 후진하다가 옆과 아래로 내려가 부상과 추락을 따라간다. 피해자가 쓰러지면 지면 가까운 측면에 자리를 잡고, 검은 인영이 그를 향해 공중을 가로지르는 순간을 드러낸다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "Frame the face frontally through the nearby branches while preserving the backward tracking direction.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Hold the low lateral position as the silhouette traverses the frame above the fallen victim.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "At chest height on the alley axis, several meters from the man and woman beside the utility pole",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The forward move continues and shifts slightly to the man's side, tightening toward his face and the woman's neck.",
            "visual_focus": "The man and woman pressed together beside the utility pole"
          },
          {
            "camera_motion": "static",
            "camera_position": "At shoulder height beside the pair, within close viewing distance of the man's face and the woman's neck",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As the woman falls, the camera lowers toward knee height and tracks backward to include her body and the man above her, then settles.",
            "visual_focus": "The man's red eyes, his mouth, and the woman's neck"
          },
          {
            "camera_motion": "static",
            "camera_position": "At knee height about two meters from the fallen woman, angled slightly upward to keep the man behind her in frame",
            "stage_index": 3,
            "stage_label": "aftermath_reveal",
            "transition_to_next": "",
            "visual_focus": "The woman's motionless body on the ground and the man raising his head with blood at his mouth"
          }
        ],
        "flow_summary": "카메라는 골목 안쪽에서 전봇대 옆 두 사람에게 전진해 남성의 얼굴과 여성의 목을 근접 관찰한다. 여성이 쓰러지는 움직임을 따라 낮아지며 뒤로 물러난 뒤, 바닥의 피해자와 고개를 든 남성을 함께 담고 멈춘다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level outside the police line, in a wide position facing across the restricted area from several meters away",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Track laterally along the outside of the police line while reducing the distance to Hyesu.",
            "visual_focus": "The police line, the forensic team working around the bodies, and the surrounding police activity"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Outside the police line at Hyesu's chest-to-eye level, moving from a medium distance to an upper-body distance",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "",
            "visual_focus": "Hyesu standing still with a radio in her hand and a tense expression"
          }
        ],
        "flow_summary": "카메라는 폴리스 라인 밖에서 현장 전반을 따라 이동한 뒤, 사건을 지휘하는 혜수 쪽으로 접근한다. 현장의 집단적 움직임에서 멈춰 선 혜수의 굳은 표정과 무전기로 시선을 좁힌다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "High above the outskirts at a steep downward angle, far enough to frame the surrounding neighborhood and the relevant residential building",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera descends and advances continuously toward the rooftop, reducing the downward angle as the rooftop room becomes dominant in frame.",
            "visual_focus": "The outskirts and the residential building containing the rooftop room"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Above and outside the rooftop perimeter at an elevated oblique angle, at a medium-wide distance from the rooftop room",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "",
            "visual_focus": "The exterior of the old rooftop room above the residential building"
          }
        ],
        "flow_summary": "변두리 전역을 내려다보는 높은 부감에서 시작해 다세대 빌라 옥상으로 하강하며 접근하고, 옥탑방 외부 전경이 화면의 중심이 되는 지점에서 마무리한다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "Hold at a wide enough distance to retain the rooftop and part of the residential building while centering the rooftop room exterior.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At chest height on the living-room side of the kitchen, at medium distance from the pot and Minsook",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Track laterally away from the kitchen axis toward the bedroom doorway while keeping Minsook within the trailing edge of the frame.",
            "visual_focus": "The steam rising above the pot and Minsook's rigid upper body as she watches the television"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height between the kitchen and the bedroom doorway, maintaining a medium distance from both women",
            "stage_index": 2,
            "stage_label": "reaction",
            "transition_to_next": "Continue tracking with Suriyoung from the doorway toward the table, then settle opposite the seated pair.",
            "visual_focus": "Suriyoung emerging from the bedroom and Minsook's hurried reaction at the television"
          },
          {
            "camera_motion": "static",
            "camera_position": "At seated eye level across the table, far enough back to hold both women in a shared medium frame",
            "stage_index": 3,
            "stage_label": "conversation",
            "transition_to_next": "Cut forward in time and jump to a low camera position near the entrance.",
            "visual_focus": "Suriyoung and Minsook facing each other across the table during their conversation"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Near floor height beside the entrance, close to Suriyoung and angled upward toward Minsook standing nearby",
            "stage_index": 4,
            "stage_label": "transition",
            "transition_to_next": "Raise the camera from the lower entrance view to chest height and move slightly closer as Suriyoung approaches Minsook.",
            "visual_focus": "Suriyoung preparing to leave and the spatial relationship between her and Minsook"
          },
          {
            "camera_motion": "static",
            "camera_position": "At chest height beside the two women, at close distance and perpendicular to their shoulder line",
            "stage_index": 5,
            "stage_label": "close_observation",
            "transition_to_next": "Cut to Suriyoung's downward eyeline, placing the camera at her viewing position and aiming toward Minsook's inner wrist.",
            "visual_focus": "Suriyoung resting her face against Minsook's shoulder with her eyes closed"
          },
          {
            "camera_motion": "cut",
            "camera_position": "At Suriyoung's eye position, close to Minsook and angled downward toward the inside of her wrist",
            "stage_index": 6,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The distinct small circular mark centered on the inside of Minsook's wrist"
          }
        ],
        "flow_summary": "부엌의 냄비와 TV를 응시하는 민숙에서 시작해 수리영의 등장과 식탁 대화를 따라간 뒤, 시간 경과를 알리는 컷으로 현관으로 이동한다. 낮은 현관 시점에서 두 사람의 가까운 접촉까지 올라간 후 수리영의 시선으로 전환해 민숙의 손목 표식을 드러낸다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten slightly to prioritize Suriyoung's face against Minsook's shoulder.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 5
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At chest height, about 8 meters ahead of 수리영 and offset toward the road edge, facing her from a front three-quarter angle while moving backward along her path",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera continues moving and arcs laterally around 수리영 until it becomes perpendicular to her direction of travel.",
            "visual_focus": "수리영 riding the bicycle along the road"
          },
          {
            "camera_motion": "track",
            "camera_position": "At hip height, about 5 meters beside 수리영, perpendicular to her direction of travel and moving parallel at matching speed",
            "stage_index": 2,
            "stage_label": "side_observation",
            "transition_to_next": "",
            "visual_focus": "수리영's full body, bicycle, active pedal stroke, bright expression, earphones, and hair moving opposite her travel direction"
          }
        ],
        "flow_summary": "카메라는 수리영의 진행 방향 앞쪽에서 후진하며 접근을 받아낸 뒤, 끊김 없이 측면으로 돌아 나란히 달린다. 측면 추적 구간에서 자전거를 힘차게 밟는 전신 동작과 밝은 표정을 포착한다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly wider within the side track to retain her full body and bicycle while emphasizing the downward pedal stroke.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At chest height inside the enclosure, several feet in front of the dog and facing it head-on",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Cut across the enclosure boundary to a frontal position outside it, reversing the view toward Suri-young",
            "visual_focus": "The barking Rottweiler confronting the space beyond the enclosure"
          },
          {
            "camera_motion": "cut",
            "camera_position": "At chest height outside the enclosure, at medium distance directly in front of Suri-young",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Track laterally past Suri-young and angle toward the dog's rear as its aggression subsides",
            "visual_focus": "Suri-young holding an unwavering stare toward the dog's eyes"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height beside the enclosure, offset behind the dog and close to the doctor",
            "stage_index": 3,
            "stage_label": "intervention",
            "transition_to_next": "Dolly backward from the doctor and pivot along the enclosures until Suri-young is isolated in the frame",
            "visual_focus": "The subdued dog and the doctor administering the injection"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At chest height in the shared space outside the enclosures, at medium distance in front of Suri-young",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "Track with Suri-young as she lowers the phone and moves toward the next dog",
            "visual_focus": "Suri-young pausing with the phone at her ear while looking toward the confined dogs"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height beside Suri-young, maintaining close working distance as she tends to a dog",
            "stage_index": 5,
            "stage_label": "task_transition",
            "transition_to_next": "",
            "visual_focus": "Suri-young moving into grooming and care work with the dogs"
          }
        ],
        "flow_summary": "카메라는 날뛰는 개의 정면에서 시작해 철창 밖 수리영의 응시로 시선을 뒤집고, 개의 뒤편으로 이동해 의사의 처치를 따라간다. 이후 뒤로 빠지며 갇힌 개들과 통화 중인 수리영을 포착한 뒤, 그녀의 돌봄 작업을 따라 이동한다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten to an upper-body frame while preserving the frontal camera axis",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At street level, three to four meters from Suriyoung, moving parallel to her path from a front-side angle",
            "stage_index": 1,
            "stage_label": "street_tracking",
            "transition_to_next": "Continue tracking toward the store, then arc behind Suriyoung as she slows and approaches the entrance.",
            "visual_focus": "Suriyoung riding the bicycle between the street stalls, with signs, taxis, and nearby street activity held in the wider frame"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist-to-chest height, two to three meters behind Suriyoung as she stops the bicycle and proceeds through the entrance",
            "stage_index": 2,
            "stage_label": "arrival",
            "transition_to_next": "Follow Suriyoung inside, then move around her side to establish an eye-level frontal angle for her search and conversation.",
            "visual_focus": "Suriyoung parking the bicycle and entering the store"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At eye level inside the store, beginning about three meters from Suriyoung and the female employee and closing to a medium conversational distance",
            "stage_index": 3,
            "stage_label": "inquiry",
            "transition_to_next": "Track laterally around the conversation axis to bring the approaching male employee into the active frame.",
            "visual_focus": "Suriyoung searching for Minsook and questioning the female employee"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye level and medium distance, shifted to the side of Suriyoung and the employees to include the male employee as he joins the exchange",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "Cut from the interior exchange to an exterior frontal position as Suriyoung emerges and checks her phone.",
            "visual_focus": "The male employee addressing Suriyoung, followed by Suriyoung's puzzled reaction"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the store at eye level, about two meters in front of Suriyoung at the roadside",
            "stage_index": 5,
            "stage_label": "unanswered_call",
            "transition_to_next": "",
            "visual_focus": "Suriyoung stopped with her phone, looking between the screen and the direction she intends to leave"
          }
        ],
        "flow_summary": "카메라는 번화가에서 자전거를 탄 수리영과 나란히 이동해 마트 입구와 내부 대화까지 따라간다. 남자 직원의 말로 의문이 커진 순간 외부로 컷해, 연락이 닿지 않는 휴대전화를 확인하는 수리영 앞에서 멈춘다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "Hold a slightly wider lateral frame to preserve the surrounding street activity while keeping Suriyoung's pedaling posture and hands on the handlebars readable.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten slightly toward a medium shot so the phone screen and Suriyoung's serious expression remain readable together.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At road level, several meters to the side of Suriyoung, moving parallel to her path at a wide distance",
            "stage_index": 1,
            "stage_label": "establishing_track",
            "transition_to_next": "The camera accelerates alongside Suriyoung and closes the lateral distance while maintaining the same side-on axis.",
            "visual_focus": "Suriyoung riding quickly along the coastal road with the night sea behind her"
          },
          {
            "camera_motion": "track",
            "camera_position": "At torso height, a short distance beside Suriyoung, traveling parallel to the bicycle in a medium side profile",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's tense expression and forceful downward pedal stroke"
          }
        ],
        "flow_summary": "카메라는 해안도로 옆에서 수리영과 나란히 이동하며 넓은 측면 거리에서 출발해 점차 가까워진다. 중간 측면 거리에서 속도를 맞춰 굳은 표정과 힘껏 페달을 밟는 동작을 포착한다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "Time the frame to the moment one knee bends and the opposite pedal is driven downward, keeping her trailing hair and clothing edges within the side profile.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At waist height near the rooftop entrance, several meters from the platform and the rooftop room",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera lowers and begins tracking toward the approaching man's feet.",
            "visual_focus": "The platform, the dried leaves, and the approaching faceless man"
          },
          {
            "camera_motion": "track",
            "camera_position": "At ankle height beside the man's path, moving parallel to his feet at close distance",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The low track continues forward until the man stops at the closed door, then rises toward hand height.",
            "visual_focus": "The dried leaf brushing the man's shoe and his movement toward the door"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly behind and slightly beside the man at hand height, less than one meter from the closed door",
            "stage_index": 3,
            "stage_label": "door_arrival",
            "transition_to_next": "The camera completes the push toward the gap and settles into an extreme close observation of the hand.",
            "visual_focus": "The man's hand, the advertisement flyer, and the narrow door gap"
          },
          {
            "camera_motion": "static",
            "camera_position": "At hand height immediately beside the closed door, aligned obliquely with the narrow gap",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "After the lock releases and the man enters, cut to an exterior position facing the window.",
            "visual_focus": "The man's finger pressing the flyer into the door gap"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the rooftop room at eye level, positioned several meters from the window and facing it directly",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The silhouettes reflected in the window as the larger figure lunges toward the woman's shoulder"
          }
        ],
        "flow_summary": "카메라는 옥상 전경에서 낮게 내려가 낯선 남자의 발을 따라 철문까지 접근한 뒤, 손과 문틈을 밀착 관찰한다. 남자가 들어간 순간 창문 정면으로 논리적 컷해 강민숙을 덮치는 실루엣을 드러낸다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "Tighten to a close-up that excludes the man's face and holds on the finger at the instant of sustained pressure.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 4
          },
          {
            "deviation_note": "Frame the reflected figures at the exact mid-action instant when the larger silhouette reaches the woman's shoulder.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At waist height in the rear area of the courtyard, about 2.5 meters behind Suri-young, aligned with her path toward the stairs",
            "stage_index": 1,
            "stage_label": "arrival",
            "transition_to_next": "Track forward behind Suri-young, then pass along her side and pivot onto the stair axis ahead of her.",
            "visual_focus": "Suri-young leaving the bicycle and moving urgently toward the stairs"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height on the narrow stairway, about 1.5 meters ahead of Suri-young and facing down toward her",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Continue retreating upward, then arc around Suri-young at the rooftop landing and settle just behind her shoulder.",
            "visual_focus": "Suri-young climbing, raising her head, and reacting to the sudden smell"
          },
          {
            "camera_motion": "static",
            "camera_position": "At Suri-young's shoulder height, about 0.6 meters behind her and slightly offset, looking past her shoulder toward the rooftop room entrance",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The half-open entrance iron door stopped in the darkness beyond Suri-young"
          }
        ],
        "flow_summary": "카메라는 마당 후미에서 수리영을 따라 계단으로 진입한 뒤, 앞서 물러나며 그녀의 냄새에 대한 반응을 포착한다. 옥상 도착과 함께 어깨 뒤로 돌아서 반쯤 열린 옥탑방 현관 철문을 드러내며 멈춘다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At shoulder height near the living room entrance, several meters from Su-ri-young and facing into the connected interior",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Track behind Su-ri-young from the living room toward her bedroom, then lower to knee height at the doorway.",
            "visual_focus": "Su-ri-young entering and searching the living room before moving toward the rooms"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At knee height just inside Su-ri-young's bedroom doorway, aimed downward along the floor toward the curtain",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Continue forward along the footprints, then rise to waist height as the curtain is opened to expose the space behind it.",
            "visual_focus": "The pooled blood and bloody footprints leading toward the curtain"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At waist height immediately beyond the opened curtain, beginning at a medium distance from Min-sook and moving closer",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "Cut from the close observation of Min-sook to a low close position beside her hand.",
            "visual_focus": "Min-sook seated with her head lowered, including the torn shoulder and collarbone wounds"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At hand height beside Min-sook, within close-up distance and angled down toward her closed hand",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "Remain on the same side of the bed and tilt upward from Min-sook's hand and wrist toward the wall above the bed.",
            "visual_focus": "The crumpled photograph clenched inside Min-sook's hand, followed by her wrist"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Beside the bed at approximately chest height, angled upward toward the wall above it",
            "stage_index": 5,
            "stage_label": "supernatural_reveal",
            "transition_to_next": "",
            "visual_focus": "The large red circular mark appearing on the wall above the bed"
          }
        ],
        "flow_summary": "카메라는 거실에서 수리영의 수색을 따라 방 안으로 진입한 뒤, 바닥의 혈흔과 발자국을 좇아 커튼 뒤 민숙을 드러낸다. 이후 민숙의 상처에서 손안의 사진으로 시선을 압축하고, 손목을 거쳐 침대 위 벽의 붉은 원형 표식까지 올려다본다.",
        "scene_index": 12,
        "shot_assignments": [
          {
            "deviation_note": "Tighten slightly near the end of the move so the torn shoulder and collarbone wounds remain prominent with Min-sook's lowered head.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 4
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At waist height beside the exterior stairs, 3 to 4 meters ahead of Suriyoung, moving downward along a parallel path",
            "stage_index": 1,
            "stage_label": "descent",
            "transition_to_next": "Continue the downward track to the base of the stairs, then pan toward Hyesu beside the vehicle.",
            "visual_focus": "Suriyoung running down the stairs in panic"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At standing eye height near the base of the stairs, approximately 5 meters from Hyesu and angled between the stairs and the vehicle",
            "stage_index": 2,
            "stage_label": "arrival_reveal",
            "transition_to_next": "Complete the pan on Hyesu, then move forward along her path as she runs toward Suriyoung.",
            "visual_focus": "Hyesu exiting the vehicle, noticing Suriyoung, and beginning to run toward her"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At chest height in a three-quarter side position, moving from 3 meters to approximately 1.5 meters from Hyesu and Suriyoung",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "Pull slightly back and pivot toward the stairs as Hyesu turns away and begins moving upward with the junior detective.",
            "visual_focus": "Hyesu gripping Suriyoung's shoulders as they face each other, followed by Suriyoung looking up at her"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height behind and to the side of Hyesu and the junior detective, maintaining a 3-meter distance as they ascend the stairs",
            "stage_index": 4,
            "stage_label": "urgent_ascent",
            "transition_to_next": "",
            "visual_focus": "Hyesu and the junior detective running up toward the rooftop room"
          }
        ],
        "flow_summary": "카메라는 수리영의 계단 하강을 따라 내려온 뒤 차량 쪽으로 시선을 돌려 혜수의 도착과 접근을 연결한다. 두 사람의 대면까지 밀착한 후 방향을 전환해 혜수와 후배 형사가 계단을 뛰어 올라가는 동선을 뒤따른다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten the framing to an upper-body two-shot as Hyesu holds Suriyoung's shoulders.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level inside the entrance, several meters from the interior doorway, moving behind and then alongside Hyesu and the detective",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Track past Hyesu as Suriyoung runs ahead, then follow her path through the interior doorway.",
            "visual_focus": "Hyesu and the detective checking the home, then Suriyoung breaking away toward her room"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At standing eye level just inside Suriyoung's room, advancing from a medium distance toward Suriyoung at the center of the room",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Continue forward briefly, then arc laterally past Suriyoung's eyeline toward the area behind the curtain.",
            "visual_focus": "Suriyoung stopping amid the clean room as her face turns pale"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height near the side of the room, moving laterally from Suriyoung toward the floor behind the curtain and settling at a close distance",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "Pull away from the empty floor, rise to standing eye level, and track behind Suriyoung as she rushes back toward the dining area.",
            "visual_focus": "The empty floor behind the curtain where the body had been"
          },
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level beside the dining area, circling from Suriyoung's side toward the space shared by Suriyoung, the detective, and Hyesu",
            "stage_index": 4,
            "stage_label": "confrontation",
            "transition_to_next": "After the detective exits, move inward along Hyesu's approach to Suriyoung and settle beside them.",
            "visual_focus": "Suriyoung indicating the clean table, the detective challenging her, and Hyesu sending him away"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At chest height beside Hyesu and Suriyoung, advancing from a medium two-shot to a close distance from their joined upper bodies",
            "stage_index": 5,
            "stage_label": "reassurance",
            "transition_to_next": "",
            "visual_focus": "Hyesu standing with both hands wrapped around Suriyoung's shoulders"
          }
        ],
        "flow_summary": "현관에서 수리영의 급한 움직임을 따라 방 안으로 진입한 카메라는 창백하게 멈춘 수리영에게 접근한 뒤, 커튼 뒤의 빈 바닥으로 측면 이동한다. 이어 수리영을 따라 식탁 쪽으로 빠져나와 대립을 지나고, 형사가 떠난 뒤 혜수가 수리영의 어깨를 감싸는 순간까지 다시 밀착한다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "Hold the forward movement at a centered medium-full distance so the clean room remains visible around Suriyoung.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Lower the camera slightly at the end of the lateral move to isolate the empty floor behind the curtain.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Stop the inward move on the instant both of Hyesu's hands are firmly placed around Suriyoung's shoulders.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At standing eye level several meters inland from the bench, facing Su-ri-young with the sea behind her",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Dolly forward on a shallow diagonal toward the side of the bench while maintaining Su-ri-young as the visual anchor.",
            "visual_focus": "Su-ri-young sitting motionless on the bench and looking toward the sea"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At seated eye level beside the bench, within medium distance of Su-ri-young and Hye-su",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Ease laterally away from the bench and rise slightly as Su-ri-young begins to stand.",
            "visual_focus": "Hye-su offering the drink and Su-ri-young responding from the bench"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist-to-chest height a few meters beside the bench, oriented toward Su-ri-young's path to the road",
            "stage_index": 3,
            "stage_label": "departure",
            "transition_to_next": "Arc behind Su-ri-young and accelerate into a trailing track as she runs away.",
            "visual_focus": "Su-ri-young rising abruptly, turning away from Hye-su, and starting to run"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height several meters behind Su-ri-young, moving along the coastal road on her running axis",
            "stage_index": 4,
            "stage_label": "pursuit",
            "transition_to_next": "Cut from the trailing movement to a distant stationary viewpoint beyond the relevant structure.",
            "visual_focus": "Su-ri-young's back as she runs away, with Hye-su receding behind her"
          },
          {
            "camera_motion": "static",
            "camera_position": "At standing eye level far from both women, positioned beyond the relevant structure and facing their separated positions",
            "stage_index": 5,
            "stage_label": "observational_reveal",
            "transition_to_next": "",
            "visual_focus": "Hye-su remaining near the bench while Su-ri-young continues away in the distance"
          }
        ],
        "flow_summary": "카메라는 벤치 앞의 수리영을 먼 거리에서 바라보다가 대화와 기립에 맞춰 접근하고, 그녀가 달리기 시작하면 뒤로 돌아 추적한다. 마지막에는 논리적 컷으로 먼 관찰 지점으로 이동해 두 사람의 벌어진 거리를 바라본다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Hold the rear framing at the instant one foot is suspended mid-stride.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the office near the entrance, at standing chest height, moving alongside Hyesu from a medium distance",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "Track forward with Hyesu, then arc toward the side of the duty desk to bring the detective into her line of action.",
            "visual_focus": "Hyesu entering while holding the phone and receiving no answer"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Beside the duty desk at seated eye level, positioned at a medium distance from both Hyesu and the detective",
            "stage_index": 2,
            "stage_label": "interaction",
            "transition_to_next": "Pan and lower slightly along Hyesu's extending arm, then move closer toward the phone between the two characters.",
            "visual_focus": "The exchange between Hyesu and the detective as she asks him to locate the number"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close to the space between Hyesu and the detective, slightly above hand level and aligned toward the phone screen",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu's hand presenting the phone screen toward the detective"
          }
        ],
        "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
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "pan",
            "camera_position": "Several meters from the rooftop room, at a height slightly above the wall, in a wide exterior position",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Pan laterally from the lit window toward the cat and settle at its eye level.",
            "visual_focus": "The lit rooftop room window and the surrounding exterior space"
          },
          {
            "camera_motion": "static",
            "camera_position": "At the cat's eye level, a medium distance from the wall, viewing the cat in profile with the window along its eyeline",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Begin a lateral track in the cat's direction as it leaves the wall.",
            "visual_focus": "The black cat standing on the wall and looking toward the lit window"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside the wall at the cat's height, moving laterally toward the far side of the wall",
            "stage_index": 3,
            "stage_label": "transition",
            "transition_to_next": "",
            "visual_focus": "The black cat crossing over the wall"
          }
        ],
        "flow_summary": "카메라는 불 켜진 옥탑방 창문이 포함된 외부 전경에서 담 위의 검은 고양이로 시선을 옮겨 정지한다. 고양이가 담을 넘기 시작하면 그 진행 방향을 따라 측면으로 이동한다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At seated eye height several feet from the bed, then moving behind 수리영 as she crosses the room",
            "stage_index": 1,
            "stage_label": "awakening_search",
            "transition_to_next": "Track behind 수리영 toward the closed door, then continue across the threshold into the next room.",
            "visual_focus": "수리영 waking, listening, and searching for any sign of her mother"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height a few feet behind 수리영, moving from the doorway toward the window and then holding near her as she answers the phone and retrieves the backpack",
            "stage_index": 2,
            "stage_label": "anxious_inspection",
            "transition_to_next": "Cut from 수리영 leaving with the backpack to a close position behind her in the bathroom.",
            "visual_focus": "수리영 inspecting the room, checking the window, taking the call, and preparing to leave"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At 수리영's eye height just behind and slightly beside her, facing the mirror from close range",
            "stage_index": 3,
            "stage_label": "mirror_reveal",
            "transition_to_next": "Pivot away from the mirror axis to place the camera behind 수리영 as she turns toward the actual wall.",
            "visual_focus": "The bathroom wall reflected in the mirror and the red circle appearing on it"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At shoulder height directly behind 수리영, close to her back and facing the bathroom wall",
            "stage_index": 4,
            "stage_label": "vanishing_reaction",
            "transition_to_next": "Cut on 수리영's sudden exit to a side position near the table in the living room.",
            "visual_focus": "수리영 turning toward the wall and finding it empty"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Beside the table at tabletop height, beginning a few feet from 수리영 and advancing to close range over the photograph",
            "stage_index": 5,
            "stage_label": "photograph_reveal",
            "transition_to_next": "Cut from the distorted face in the photograph to a tight face-height angle on 수리영's reaction.",
            "visual_focus": "The photograph and the mother's smiling face distorting within it"
          },
          {
            "camera_motion": "static",
            "camera_position": "At face height within arm's length of 수리영, angled to hold her cheek and raised hand in the same tight frame",
            "stage_index": 6,
            "stage_label": "self_correction",
            "transition_to_next": "",
            "visual_focus": "수리영 striking her own cheek to regain control"
          }
        ],
        "flow_summary": "카메라는 잠에서 깬 수리영을 따라 방과 창가를 살핀 뒤 욕실 거울로 접근하며 불안의 대상을 좁힌다. 붉은 원이 사라진 뒤 거실 사진으로 시선을 연결하고, 마지막에는 자신의 뺨을 때리는 수리영에게 밀착한다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "Shift to 수리영's exact optical viewpoint so only the mirror reflection of the wall and the red circle dominate the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 3
          },
          {
            "deviation_note": "Complete the move in an extreme close-up centered on the mother's distorted face within the photograph.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 5
          },
          {
            "deviation_note": "Tighten the framing to the palm and cheek at the exact mid-impact instant.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level several steps behind and to the side of Suriyoung, moving from the bicycle parking area toward the store entrance",
            "stage_index": 1,
            "stage_label": "arrival",
            "transition_to_next": "Continue tracking through the entrance, then move along the interior path as Suriyoung searches for the male employee.",
            "visual_focus": "Suriyoung parking the bicycle, entering the store, and searching through the aisles"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Suriyoung's upper-torso height, slightly to the side of the line between her and the male employee, advancing from medium distance to medium-close distance",
            "stage_index": 2,
            "stage_label": "confrontation",
            "transition_to_next": "After holding the conversation axis, cut across the location boundary to an exterior position facing Suriyoung and the CCTV camera beneath the eave.",
            "visual_focus": "Suriyoung stopping in front of the male employee, looking up at him, and questioning him"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Outside the store at chest height and several steps from Suriyoung, angled upward to include her raised hand and the CCTV camera beneath the eave",
            "stage_index": 3,
            "stage_label": "cctv_reveal",
            "transition_to_next": "Tilt back down from the CCTV camera toward Suriyoung as she brings the phone to her ear.",
            "visual_focus": "Suriyoung pointing upward at the CCTV camera while confirming its coverage"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the store at Suriyoung's upper-torso height and medium-close distance, facing her from a slight angle",
            "stage_index": 4,
            "stage_label": "phone_report",
            "transition_to_next": "",
            "visual_focus": "Suriyoung speaking to Hyesu by phone after checking the CCTV position"
          }
        ],
        "flow_summary": "카메라는 자전거를 세우고 마트로 들어가는 수리영을 따라 내부 수색과 남자 직원과의 대화 거리까지 접근한다. 이후 마트 밖으로 논리적 컷해 CCTV를 올려다본 뒤, 수리영의 전화 통화로 시선을 내려 마무리한다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "Hold the medium-close upper-body framing as Suriyoung blocks the male employee's path and angles her gaze upward.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Pause the upward tilt at the exact moment Suriyoung points at the CCTV camera, keeping both her gesture and the camera in the viewing axis.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At standing eye level behind the seated security employee and Hyesu, at a medium distance that also includes Suri-young standing behind them",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks laterally around the seated pair and closes the distance to face Suri-young from a slight angle.",
            "visual_focus": "The security employee and Hyesu watching the monitor, with Suri-young standing behind them"
          },
          {
            "camera_motion": "track",
            "camera_position": "At Suri-young's eye level, close to her face and slightly off her frontal axis, with the seated figures between her and the monitor remaining outside the primary framing",
            "stage_index": 2,
            "stage_label": "reaction",
            "transition_to_next": "Following Suri-young's eyeline, the camera moves past the seated figures and advances toward the monitor.",
            "visual_focus": "Suri-young's tense face as she stares at the monitor"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly in front of the monitor at screen-center height, advancing from close range to an image-filling detail distance",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera dollies back from the monitor and pans toward Hyesu beside the security employee.",
            "visual_focus": "The unusually dark section of the CCTV image and the indistinct male silhouette within it"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Beside the monitor at Hyesu's seated eye level, at close conversational distance and aligned with her side profile",
            "stage_index": 4,
            "stage_label": "decision",
            "transition_to_next": "",
            "visual_focus": "Hyesu turning her attention from the CCTV image toward the security employee"
          }
        ],
        "flow_summary": "카메라는 보안직원과 혜수 뒤에서 상황을 잡은 뒤 측면으로 돌아 수리영의 불안한 얼굴에 접근한다. 이어 수리영의 시선을 따라 모니터 속 식별 불가능한 남자의 실루엣까지 밀고 들어간 후, 혜수 쪽으로 빠져나온다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "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": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level near the office entrance, moving forward from a wide distance behind 혜수 and 수리영 into the office aisle",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Continue along the aisle, then curve toward the side of 혜수's desk as 수리영 is left alone.",
            "visual_focus": "혜수 and 수리영 entering, 김형사 facing them, and the surrounding office activity"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At seated eye level beside the desk, advancing from a medium distance to a tight frontal distance from 수리영",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Slide away from 수리영's face and redirect the view across the nearby desks toward 김형사's monitor.",
            "visual_focus": "수리영 reacting to the enlarged photographs on the desk"
          },
          {
            "camera_motion": "track",
            "camera_position": "At seated shoulder height, moving laterally from 혜수's desk toward 김형사's desk and stopping close to the monitor",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "Move from the monitor toward 수리영's working hand at desk height as she records the coordinates.",
            "visual_focus": "The location-tracking result on 김형사's monitor and 수리영 operating the cursor"
          },
          {
            "camera_motion": "track",
            "camera_position": "At desk height close to 수리영's hands, traveling laterally with the note from the writing position toward her body",
            "stage_index": 4,
            "stage_label": "concealment",
            "transition_to_next": "Arc around 수리영 from her side to a rear position while rising to standing torso height and turning toward the office door.",
            "visual_focus": "수리영 writing the coordinates, folding the note, and moving it toward her pocket"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At standing torso height directly behind 수리영, retreating from a close distance to a medium distance while aligned with the office door",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "수리영 paused with the note partly in her pocket, facing the office door"
          }
        ],
        "flow_summary": "카메라는 사무실 입구에서 인물들을 따라 안쪽으로 들어온 뒤, 홀로 남은 수리영에게 접근해 사진을 본 충격을 포착한다. 이어 모니터와 좌표 메모를 따라 이동하고, 수리영의 뒤로 돌아 문을 향한 퇴장 직전의 자세에서 물러난다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "Tighten to a face close-up at the final point of the dolly, excluding the desk photographs from the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold before the retreat fully opens the distance, with the note still halfway into the pocket.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At waist height, 4 meters from Suriyoung, moving laterally parallel to her path",
            "stage_index": 1,
            "stage_label": "departure",
            "transition_to_next": "Cut from the exterior lateral view to a frontal three-quarter position inside the PC room.",
            "visual_focus": "Suriyoung mounting the bicycle and beginning to ride"
          },
          {
            "camera_motion": "static",
            "camera_position": "At seated chest height, 1.5 meters in front of and slightly to the side of Suriyoung",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Tilt downward while moving closer from Suriyoung's upper body toward her hands.",
            "visual_focus": "Suriyoung's seated upper body as she studies the map on the monitor"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At hand height, 40 centimeters above and slightly in front of Suriyoung's hands",
            "stage_index": 3,
            "stage_label": "document_detail",
            "transition_to_next": "Track a short distance from the folded maps toward the open backpack.",
            "visual_focus": "Suriyoung's hands completing the fold of several printed maps"
          },
          {
            "camera_motion": "track",
            "camera_position": "At hand height, 50 centimeters from the open backpack and aligned with the path of Suriyoung's hands",
            "stage_index": 4,
            "stage_label": "packing",
            "transition_to_next": "",
            "visual_focus": "The folded maps moving into the open backpack"
          }
        ],
        "flow_summary": "카메라는 경찰서 밖에서 자전거로 출발하는 수리영을 측면 추적한 뒤, 논리적 컷으로 PC방 안의 정면 사선 위치로 이동한다. 이후 수리영의 상체에서 손으로 내려가 접힌 지도를 따라 열린 백팩까지 이어진다.",
        "scene_index": 22,
        "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": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the side of the coastal road, approximately 15 meters from Suri-young's path, at a height of 2.5 meters in a wide lateral view",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera descends slightly and accelerates into a parallel lateral track as Suri-young approaches the center of the frame.",
            "visual_focus": "Suri-young riding a bicycle along the coastal road beneath the clouded sky and heavy rain"
          },
          {
            "camera_motion": "track",
            "camera_position": "Parallel to Suri-young's bicycle, 2.5 meters from her side at upper-torso height, matching her forward speed",
            "stage_index": 2,
            "stage_label": "pursuit",
            "transition_to_next": "While maintaining the parallel track, the camera moves closer and slightly forward until it aligns with the side-front angle of her face.",
            "visual_focus": "Suri-young leaning forward, gripping the handlebars and driving the bicycle through the rain"
          },
          {
            "camera_motion": "track",
            "camera_position": "Less than 1 meter from Suri-young at eye level, tracking beside and slightly ahead of her in a tight side-front angle",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suri-young's face and determined eyes beneath her wet bangs"
          }
        ],
        "flow_summary": "해안가 도로를 넓게 바라보던 카메라가 수리영의 자전거와 속도를 맞추며 측면으로 따라붙는다. 이어 같은 이동선에서 얼굴 쪽으로 좁혀 들어가 결연한 눈빛에 도달한다.",
        "scene_index": 23,
        "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": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just inside the open entrance at standing eye level, several meters from Suri-young and aimed downward into the interior",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera advances behind Suri-young, then levels its gaze while following her across the living area toward the open room.",
            "visual_focus": "Suri-young, the footprints on the floor, and the disturbed living area"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind Suri-young at shoulder height, moving from the living area to a position just outside the open room",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera passes slightly to one side of Suri-young and pushes through the doorway toward the wall inside the room.",
            "visual_focus": "Suri-young stopping at the open doorway and looking into her room"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the room at eye level, aligned nearly perpendicular to the wall and closing from a medium distance to a close distance",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "The forward move continues until the photograph dominates the frame, followed by a direct cut to an axis-matched full-frame view of its image.",
            "visual_focus": "The red circle on the wall and the old bloodied photograph fixed at its center"
          },
          {
            "camera_motion": "static",
            "camera_position": "Directly in front of the photograph at extreme close range, centered on its image with the viewing axis perpendicular to its plane",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "A direct cut returns to the room on the same viewing axis, then the camera pulls back as Suri-young lowers herself onto the bed.",
            "visual_focus": "The old photograph showing a rural restaurant, a circular sign on its roof, and two young girls seated in front"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At seated eye level in front of Suri-young, retreating from close range to a wider room view and then reorienting toward the exit path",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suri-young holding the photograph, surveying the disturbed room, and moving toward the open entrance"
          }
        ],
        "flow_summary": "카메라는 현관 안쪽에서 수리영을 따라 거실과 방문을 지나 벽의 붉은 원과 사진으로 점차 접근한다. 사진 이미지를 축 정렬된 컷으로 확인한 뒤 방으로 돌아와 물러나며 수리영의 침대 착석과 퇴장 동선까지 이어간다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "The framing briefly settles symmetrically on the circle and photograph before continuing the inward move.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "The photograph image fills the frame completely, excluding Suri-young's hands and the surrounding wall.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At standing eye level several meters behind Suri-young, with her seated figure in the foreground and the harbor and sea extending ahead",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Dolly forward behind Suri-young while lowering toward her seated height, then tilt down toward her lap.",
            "visual_focus": "Suri-young seated on the rocks and looking out across the empty harbor"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly above and slightly behind Suri-young's knees at close range",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Rise from her lap, tilt up past her shoulder, and pan toward the approaching boat.",
            "visual_focus": "The missed-call notifications from Hye-su on the phone in Suri-young's lap"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Just behind Suri-young at seated shoulder height, facing from her position toward the open water",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "Track laterally and forward with Suri-young as she rises and moves toward the boat.",
            "visual_focus": "The boat emerging through the fog and Suri-young's response to its arrival"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height beside and slightly behind Suri-young, advancing with her toward the boat before curving to the side of In-woo at close range",
            "stage_index": 4,
            "stage_label": "approach_and_reaction",
            "transition_to_next": "Continue the arc past the two figures, then dolly backward to place Suri-young against the sea as she leaves her message.",
            "visual_focus": "Suri-young approaching In-woo, then In-woo holding the rope and glancing toward her"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At standing eye level behind Suri-young, beginning at medium distance and gradually withdrawing toward the harbor side",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suri-young facing the sea while recording her voice message"
          }
        ],
        "flow_summary": "카메라는 수리영의 뒤에서 텅 빈 포구를 바라보다가 무릎 위 휴대전화로 내려가고, 다시 시선을 들어 다가오는 배를 발견한다. 이후 수리영을 따라 인우에게 접근해 그의 반응을 가까이 포착한 뒤, 바다를 향해 음성메시지를 남기는 수리영에게서 천천히 물러난다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Settle into an extreme close view so the phone screen dominates the frame while retaining its position over Suri-young's knees.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Complete the tracking arc at a tighter face-level distance while keeping the rope within the edge of the composition.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At eye level, about 1.5 meters in front of Hyesu, framed at medium-close distance from the waist up",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "Pan horizontally from Hyesu toward Detective Kim while maintaining the same camera height and position.",
            "visual_focus": "Hyesu standing with the phone held to her ear, her expression fixed as she listens"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At eye level in the same frontal area, now oriented toward Detective Kim at close distance",
            "stage_index": 2,
            "stage_label": "reaction",
            "transition_to_next": "Reverse the pan toward Hyesu and begin a short lateral track to reach her side.",
            "visual_focus": "Detective Kim looking toward Hyesu as he responds"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye level, about 1.2 meters from the side of Hyesu, with Detective Kim remaining across her eyeline",
            "stage_index": 3,
            "stage_label": "anxious_reaction",
            "transition_to_next": "Continue laterally past Hyesu's eyeline, rotate toward the entrance, and advance along that direction.",
            "visual_focus": "Hyesu turning toward Detective Kim and holding her anxious gaze"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Facing the entrance from inside the room, starting several meters away and ending at close distance from the partly open door gap",
            "stage_index": 4,
            "stage_label": "withdraw_reveal",
            "transition_to_next": "",
            "visual_focus": "The narrow gap of the partly open entrance door as it moves in the wind and comes to rest"
          }
        ],
        "flow_summary": "카메라는 혜수의 굳은 상체에서 시작해 김형사의 반응과 다시 돌아보는 혜수의 측면을 연속적으로 훑는다. 이어 시선을 현관 쪽으로 넘기며 접근해, 바람에 흔들리다 멈춘 문틈에서 이동을 끝낸다.",
        "scene_index": 26,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "End the advance with the frame tightened specifically on the stationary gap rather than the full door.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Far from the boat at a low height above the sea, oriented toward its full profile",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Cut from the distant exterior position to seated eye level on the deck.",
            "visual_focus": "The small fishing boat isolated on the sea"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "On the deck at seated eye level, several meters to the side of Suriyoung and Inwoo",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Continue the forward move while shifting slightly toward Suriyoung's side of the exchange.",
            "visual_focus": "Suriyoung presenting the map to Inwoo and Inwoo examining it"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Beside Suriyoung at seated chest height, within upper-body distance and angled across the photograph toward Inwoo",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "Pull back with Inwoo's sudden rise, then pivot into a following path toward the wheelhouse.",
            "visual_focus": "Suriyoung's finger on the photograph and her fixed gaze on Inwoo"
          },
          {
            "camera_motion": "track",
            "camera_position": "At standing waist height, one to two meters behind and to the side of Inwoo as he crosses the deck",
            "stage_index": 4,
            "stage_label": "pursuit",
            "transition_to_next": "Track with Inwoo, then arc to the side of the wheelhouse entrance as Suriyoung catches up and moves across his path.",
            "visual_focus": "Inwoo abruptly rising and rushing toward the wheelhouse, with Suriyoung following"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "At chest height beside the wheelhouse entrance, roughly two meters from Suriyoung and Inwoo with their opposing movement crossing the frame",
            "stage_index": 5,
            "stage_label": "confrontation",
            "transition_to_next": "",
            "visual_focus": "Suriyoung blocking Inwoo and extending her arm to push him away from the controls"
          }
        ],
        "flow_summary": "카메라는 배의 원경에서 갑판의 대화로 진입한 뒤, 사진과 인우의 반응 사이로 점차 좁혀 들어간다. 인우가 돌발적으로 조타실로 달려가면 카메라도 갑판을 따라 이동해 입구의 몸싸움에 밀착한다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "Tighten to Suriyoung's upper body while keeping her pointing finger, the photograph, and her direct eyeline toward Inwoo within the composition.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Settle briefly into a tense medium-action distance as Suriyoung crosses in front of Inwoo and drives her extended arm toward him.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "At hand height between Suryoung and Inwoo, a few inches above the photograph and angled down toward it",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera tilts up and rises along the line from the photograph to Inwoo's face.",
            "visual_focus": "Suryoung's fingertip pressing the face of the girl in the photograph"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At Inwoo's eye height, close to his front three-quarter side and within arm's reach",
            "stage_index": 2,
            "stage_label": "reaction",
            "transition_to_next": "The camera tracks around Inwoo's near side until his shoulder enters the foreground and the wall opens behind him.",
            "visual_focus": "Inwoo freezing as he processes the name Kang Minsook"
          },
          {
            "camera_motion": "track",
            "camera_position": "Just behind and slightly above Inwoo's shoulder, facing across him toward the wall at medium distance",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "The camera continues laterally past Inwoo's shoulder, then pans back toward Suryoung as her attention and balance fail.",
            "visual_focus": "The many circular markings on the wall beyond Inwoo, including the red circle"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Beside Inwoo at chest-to-eye height, close enough to hold Suryoung's upper body across the gap between them",
            "stage_index": 4,
            "stage_label": "collapse",
            "transition_to_next": "The camera makes a short lateral adjustment and settles as Suryoung falls onto Inwoo's shoulder.",
            "visual_focus": "Suryoung losing consciousness and falling toward Inwoo"
          },
          {
            "camera_motion": "static",
            "camera_position": "At eye height in a tight two-person profile angle, perpendicular to Inwoo's shoulder and within close-up distance",
            "stage_index": 5,
            "stage_label": "aftermath",
            "transition_to_next": "",
            "visual_focus": "Inwoo's rigid, wide-eyed face with Suryoung's head resting against his shoulder"
          }
        ],
        "flow_summary": "카메라는 사진을 짚는 손끝에서 시작해 인우의 반응을 따라 상승한 뒤, 그의 어깨 뒤로 돌아 벽면의 원형 표식들을 드러낸다. 이어 수리영의 혼미해진 움직임을 따라 옆으로 이동하고, 그녀가 인우의 어깨에 쓰러지는 순간 정지한다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 1
          },
          {
            "deviation_note": "Frame tightly enough that Inwoo's shoulder functions as the foreground edge while the wall markings remain fully legible.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten the final framing to emphasize the exact contact point between Suryoung's head and Inwoo's shoulder.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "High above the sea at a long distance from the boat, facing toward its forward path",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera descends and advances along the boat's path, reducing the distance while maintaining the same forward axis.",
            "visual_focus": "The setting sun, its long golden reflection across the sea, and the distant boat moving toward the fog bank"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Near sea level behind and slightly to one side of the boat at a medium-long distance, looking past the boat toward the fog bank",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera moves laterally around the boat and accelerates into a parallel track beside the bow.",
            "visual_focus": "The boat advancing across the sea toward the dense fog bank"
          },
          {
            "camera_motion": "track",
            "camera_position": "At sea level beside the forward half of the boat, a short distance from the bow and perpendicular to its direction of travel",
            "stage_index": 3,
            "stage_label": "fog_entry",
            "transition_to_next": "",
            "visual_focus": "The bow creating a wake as its forward half enters the dense fog"
          }
        ],
        "flow_summary": "카메라는 높은 원경에서 석양과 바다, 안개를 향하는 배를 함께 조망한 뒤 배의 진행축을 따라 낮게 접근한다. 이어 뱃머리 측면으로 돌아 나란히 이동하며 배의 앞부분이 안개 속으로 들어가는 순간에 도달한다.",
        "scene_index": 29,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "fd20ac7a-a8bc-4c32-9d9f-bf7705bdcd99",
  "resolved_model": "gpt",
  "updated_at": "2026-07-18T06:02:35.763653+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}