{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low handheld camera at shin height, about 1 meter beside and slightly behind the fleeing man, moving through dense undergrowth at uneven ground level",
            "stage_index": 1,
            "stage_label": "pursuit_establishing",
            "transition_to_next": "The camera accelerates alongside the man, then rises in the same forward motion toward his upper body as the vegetation closes in around him.",
            "visual_focus": "the injured legs of the fleeing Korean man in his 30s pushing through the undergrowth"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Chest-to-face height, very close in front of the fleeing man, backing up along his path at less than 1 meter distance",
            "stage_index": 2,
            "stage_label": "fear_close_observation",
            "transition_to_next": "A sudden offscreen rush breaks the continuous movement; the scene cuts hard to a lower ground-level angle just ahead of the man as he collapses into the attack path.",
            "visual_focus": "the terrified face of the Korean man in his 30s as he realizes something is coming"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Low ground-level three-quarter angle, about 1.5 meters from the fallen man's upper body, lens tilted slightly upward to catch the descending attacker and the collision zone",
            "stage_index": 3,
            "stage_label": "impact_reveal",
            "transition_to_next": "",
            "visual_focus": "the dark figure dropping from above and slamming into the fallen man's upper body"
          }
        ],
        "flow_summary": "카메라는 숲 바닥 가까이에서 도망치는 남자의 다리를 따라붙다가 얼굴 앞으로 치고 올라가 공포를 압박한다. 이후 공격의 순간에는 낮은 지면 앵글로 논리적 컷을 사용해, 위에서 떨어지는 검은 인영과 남자의 상체 충돌을 한 번에 포착한다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "Impact timing is emphasized with a slight handheld jolt at the exact moment the dark figure hits the man's upper body.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "At the far mouth of the dark back alley, eye level, about 12 meters from the utility pole, centered on the dim pool of streetlight",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera slowly dollies forward along the alley centerline toward the figures pressed against the utility pole.",
            "visual_focus": "the dimly lit alley, the utility pole, and the two indistinct figures locked together beneath the streetlight"
          },
          {
            "camera_motion": "track",
            "camera_position": "Mid-alley at eye level, about 5 meters from the utility pole, slightly left of the figures",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera tracks left in a shallow arc around the pair, tightening the angle until their profiles align against the pole.",
            "visual_focus": "the man closing in on the woman's neck as their breathing intensifies"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight side position beside the utility pole, shoulder height, about 1 meter from the pair, perpendicular to their bodies",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "As the woman's body loses strength, the camera tilts and lowers with the downward motion, settling near the ground where she collapses.",
            "visual_focus": "the man biting into the woman's neck in a frozen side profile, with emphasis on the violent contact and his unnatural stare"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low ground-level position beside the utility pole, about 1.5 meters from the fallen woman, looking slightly downward across the alley floor",
            "stage_index": 4,
            "stage_label": "aftermath",
            "transition_to_next": "",
            "visual_focus": "the woman lying limp on the ground in the dim streetlight while the alley falls still"
          }
        ],
        "flow_summary": "카메라는 어두운 골목 입구에서 전봇대 아래의 두 사람을 향해 천천히 접근한 뒤, 측면으로 파고들어 목을 물어뜯는 순간을 포착한다. 이어 쓰러지는 움직임을 따라 낮아져, 바닥에 축 늘어진 여자의 정적 구도로 멈춘다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "The frame holds slightly longer than the movement suggests, making the side-profile bite feel suspended and unnervingly still.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "The camera settles into a more static, low aftermath frame after following the fall, emphasizing the woman's complete loss of strength.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide position just outside the police line at standing eye level, set back across the forest clearing to take in the controlled perimeter",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a lateral move along the inside edge of the police line, narrowing attention from the full perimeter toward the activity around the body recovery area.",
            "visual_focus": "the forest crime scene, police line, and officers holding the perimeter"
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside the police line at shoulder height, moving parallel to the recovery area from several meters away",
            "stage_index": 2,
            "stage_label": "procedure_observation",
            "transition_to_next": "The track continues past the paused recovery team, then subtly pivots and advances toward the group of detectives where Hyesu stands in command.",
            "visual_focus": "forensic workers and the stretcher at the center of the investigation activity"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the police line at Hyesu's eye level, moving from a medium distance to a frontal chest-up distance of roughly two meters",
            "stage_index": 3,
            "stage_label": "command_focus",
            "transition_to_next": "",
            "visual_focus": "Hyesu holding a radio, facing forward with a heavy expression"
          }
        ],
        "flow_summary": "카메라는 뉴스 화면처럼 현장 전체를 먼저 포착한 뒤, 폴리스 라인 안쪽을 따라 감식 절차를 지나 사건을 지휘하는 혜수에게 접근한다. 마지막에는 혜수의 정면 상체에 멈추며 현장의 긴장과 책임감을 집중시킨다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "Hold the dolly-in at a firm chest-up framing, keeping Hyesu centered and frontal while the radio remains visible in one hand.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "Very high above the old downtown edge of Incheon, daytime, looking down at a cluster of aging low-rise villas from a wide overhead distance",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward-and-down crane move, narrowing from the neighborhood grid toward one particular old villa rooftop.",
            "visual_focus": "the quiet old residential district and the isolated rooftop structures among the villas"
          },
          {
            "camera_motion": "crane",
            "camera_position": "High above the selected old villa, descending to a steeper overhead angle, still several stories above the rooftop",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The descent eases off and the camera settles into a fixed elevated viewpoint over the rooftop room.",
            "visual_focus": "the worn rooftop surface and the small rooftop room becoming the center of the frame"
          },
          {
            "camera_motion": "static",
            "camera_position": "Elevated overhead position above the villa rooftop, daytime, looking down at the modest rooftop room from a quiet wide distance",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "the simple exterior of the rooftop room and the stillness around it"
          }
        ],
        "flow_summary": "카메라는 인천 구도심의 낡은 주거지 상공에서 시작해 한 빌라 옥상으로 천천히 내려오며, 단출한 옥탑방을 고요한 부감으로 고정해 바라본다. 기자의 음성은 이 정적 풍경 위에 지역의 불안감을 덧씌운다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame longer than the approach suggests, emphasizing daytime stillness rather than visible movement.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level near the kitchen counter, slightly behind and to the side of Minsuk, looking across the small living room toward the dining table area",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks away from the counter and lowers slightly toward the dining table as Suriyeong settles into the room.",
            "visual_focus": "the cramped living room, the kitchen counter, and Minsuk's tense presence"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Seated height at the edge of the dining table, close to Suriyeong and angled down toward the cup before rising to her face",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "A hard cut jumps forward in time to the entryway while preserving the domestic intimacy of the previous table position.",
            "visual_focus": "Suriyeong's face and the dark herbal drink in the cup"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Inside the entryway at chest height, a few feet from Suriyeong, facing back into the room where Minsuk stands nearby",
            "stage_index": 3,
            "stage_label": "transition",
            "transition_to_next": "The camera shifts closer into the shared personal space between mother and daughter, sliding toward Minsuk's arm as Suriyeong leans near her.",
            "visual_focus": "Suriyeong preparing to leave and Minsuk responding softly"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close at waist-to-chest height beside Minsuk, lens aligned with her forearm and wrist at intimate distance",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "The camera tilts and rises from the wrist line toward Suriyeong's face, following the direction of her brief glance.",
            "visual_focus": "the small circular mark on Minsuk's wrist"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Tight face-level close-up beside Minsuk's arm, now angled upward toward Suriyeong's eyes",
            "stage_index": 5,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's eyes registering the mark with a quick downward glance"
          }
        ],
        "flow_summary": "카메라는 주방의 불안한 기류에서 식탁의 수리영에게 천천히 접근한 뒤, 시간 경과를 컷으로 넘어 현관의 친밀한 거리로 이동한다. 마지막에는 민숙의 손목 표식에서 수리영의 눈동자로 시선을 따라 올라가며 사소하지만 의미심장한 발견을 포착한다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly downward so the cup dominates the lower foreground before holding on Suriyeong's furrowed expression.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Push in closer than the stage default until the wrist mark fills the frame, minimizing surrounding context.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 4
          },
          {
            "deviation_note": "Complete the upward tilt into an extreme close-up of Suriyeong's eyes, emphasizing the glance rather than a full facial reaction.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "On the ocean-side lane, at bicycle height about 4 meters from Suriyeong, moving parallel to her left side along the coastal road",
            "stage_index": 1,
            "stage_label": "establishing_motion",
            "transition_to_next": "The tracking camera gradually accelerates to draw level with Suriyeong, then shifts forward into a three-quarter front angle while closing the distance.",
            "visual_focus": "Suriyeong pedaling along the sunlit coastal road with the sea opening beside her"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Slightly ahead of Suriyeong on the ocean side, at eye level, moving backward about 1 meter from her face as she rides toward the camera",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "After holding her uplifted expression, the camera lets her pass slightly and begins to redirect attention toward the roadside sound source.",
            "visual_focus": "Suriyeong wearing earphones, lifting her face toward the sea with a faint smile"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near Suriyeong’s forward path at eye level, still close to the bicycle line but allowing more space toward the road edge",
            "stage_index": 3,
            "stage_label": "reaction_to_sound",
            "transition_to_next": "",
            "visual_focus": "The space around Suriyeong as the offscreen dog bark interrupts the bright riding rhythm"
          }
        ],
        "flow_summary": "카메라는 해안가 도로를 달리는 수리영을 바다 쪽 측면에서 나란히 따라가다가, 점차 앞으로 파고들어 그녀의 얼굴 가까이로 접근한다. 밝은 미소의 클로즈업을 지나 개 짖는 소리가 들리는 방향으로 시선이 살짝 열리며 다음 반응을 준비한다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Frame is tightened into a facial close-up, keeping the sea-facing lift of her chin and the faint smile as the dominant detail.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Inside the kennel at the Rottweiler's chest height, less than three feet from its muzzle, with the metal bars cutting the foreground and the aisle beyond compressed behind it",
            "stage_index": 1,
            "stage_label": "establishing_aggression",
            "transition_to_next": "The camera holds the animal's forward pressure, then eases backward through the cage line and pivots toward the aisle as Suriyoung's stare takes control of the moment.",
            "visual_focus": "the Rottweiler's bared teeth, lifted forepaws, and tense body pressing toward the bars"
          },
          {
            "camera_motion": "track",
            "camera_position": "Just outside the kennel at human chest height, slightly off the Rottweiler's shoulder line, moving laterally between the dog and Suriyoung",
            "stage_index": 2,
            "stage_label": "confrontation_to_submission",
            "transition_to_next": "As the dog lowers and the threat drains away, the camera continues its lateral move toward the rear of the dog, settling beside the veterinarian's working hand.",
            "visual_focus": "Suriyoung's unwavering gaze and the Rottweiler's energy collapsing from attack posture into submission"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low beside the Rottweiler's hindquarters, about two feet from the floor and angled down at a tight three-quarter view of the veterinarian's hand",
            "stage_index": 3,
            "stage_label": "treatment_close_observation",
            "transition_to_next": "After the injection and the brief exchange, the scene makes a logical cut forward in time to the grooming area, landing close to the floor where Suriyoung has begun the shelter chores.",
            "visual_focus": "the syringe entering the Rottweiler's hip while the subdued dog lies still"
          },
          {
            "camera_motion": "static",
            "camera_position": "At floor level in the grooming area, close beside Suriyoung's crouched position, about eighteen inches from the small dog's back and angled slightly downward",
            "stage_index": 4,
            "stage_label": "work_routine_close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's paused scissors against the small dog's back fur, surrounded by the quiet pressure of unfinished shelter tasks"
          }
        ],
        "flow_summary": "카메라는 철장 안의 맹견에게서 시작해 수리영의 시선이 개를 제압하는 흐름을 따라 낮게 이동하고, 곧바로 주사 장면의 근접 관찰로 붙는다. 이후 시간 경과를 컷으로 건너뛰어 보호원 일손에 묶인 수리영의 미용 작업 위치까지 낮은 시선으로 이어진다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter on the Rottweiler's muzzle and raised forepaws so the bars feel like they are barely containing it.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Narrow the frame to the veterinarian's hand, syringe, and the Rottweiler's skin at the exact instant of contact, letting the dog's subdued body remain only partially visible.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold the scissors frozen against the small dog's back fur, emphasizing Suriyoung's hesitation and the weight of the delayed schedule rather than active cutting.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "On the crowded market street at shoulder height, moving parallel to the bicycle lane about 3 meters from Suri-young as she rides through neon signs, taxis, street vendors, and pedestrians toward the supermarket frontage.",
            "stage_index": 1,
            "stage_label": "street_arrival",
            "transition_to_next": "The camera tracks with Suri-young until she slows at the supermarket entrance, then continues forward with her movement as she parks and heads inside.",
            "visual_focus": "Suri-young navigating the busy street toward the large supermarket"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just inside the supermarket entrance at eye level, retreating backward ahead of Suri-young through the bright front aisle as she scans shelves and staff areas for her mother.",
            "stage_index": 2,
            "stage_label": "interior_search",
            "transition_to_next": "The backward dolly settles near the service aisle and pivots slightly toward the middle-aged female employee as Suri-young stops in front of her.",
            "visual_focus": "Suri-young entering the bright supermarket and searching for her mother"
          },
          {
            "camera_motion": "static",
            "camera_position": "Inside the supermarket aisle at eye level, about 1 meter from Suri-young, placed slightly over the middle-aged female employee's shoulder so Suri-young's stopped face is held in the foreground line of attention.",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "After the employee's answer, the camera pans along Suri-young's eyeline toward the nearby male employee speaking from the display area.",
            "visual_focus": "Suri-young's confused reaction while facing the middle-aged female employee"
          },
          {
            "camera_motion": "pan",
            "camera_position": "In the same supermarket aisle at chest-to-eye height, positioned between Suri-young and the display shelves, rotating from the female employee side toward the male employee with boxes, then back to Suri-young's reaction.",
            "stage_index": 4,
            "stage_label": "information_shift",
            "transition_to_next": "Cut on Suri-young's decision to leave, jumping from the interior aisle to the darker exterior just outside the supermarket entrance.",
            "visual_focus": "The staff's incomplete explanation and Suri-young processing the uncertainty"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the supermarket entrance at dusk, about 4 meters from Suri-young at waist height, facing the lit doorway from the sidewalk so her body reads as a dark silhouette against the store lights.",
            "stage_index": 5,
            "stage_label": "exterior_isolation",
            "transition_to_next": "",
            "visual_focus": "Suri-young standing alone outside, looking down at the illuminated phone screen"
          }
        ],
        "flow_summary": "카메라는 번화가의 추적 이동으로 수리영을 마트까지 따라간 뒤, 실내에서는 그녀의 탐색과 직원들의 말에 따른 시선 이동을 하나의 동선으로 이어간다. 마지막에는 실내 대화에서 외부 입구로 컷해, 전화가 닿지 않는 수리영의 고립감을 어두운 실루엣으로 정리한다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "The framing tightens slightly from the stage default so Suri-young's widened eyes and stopped expression dominate while the female employee remains implied by the over-shoulder angle.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          },
          {
            "deviation_note": "The camera holds wider than a phone insert, allowing the glowing screen to be visible while preserving Suri-young as a lone silhouette against the supermarket entrance.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low roadside position on the outer edge of the coastal road, about 1 meter above ground and 12 meters ahead of the curve, with the dark sea stretching beside the frame",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suriyeong approaches the bend, the camera begins to pivot and prepare to move parallel to the road, shifting attention from the empty coastal darkness to her incoming motion.",
            "visual_focus": "the black coastal road, the sea edge, and Suriyeong entering the curve from the distance"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low tracking position just outside the curved lane, about 1.2 meters high and 4 to 6 meters from Suriyeong, moving laterally along the arc of the bend",
            "stage_index": 2,
            "stage_label": "dynamic_curve",
            "transition_to_next": "The camera continues its lateral track through the apex of the curve, then eases its speed as Suriyeong exits the bend and pulls ahead.",
            "visual_focus": "Suriyeong’s full body on the bicycle as she leans the bicycle sharply through the curve"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Roadside position near the exit of the curve, still low and slightly behind Suriyeong’s path, looking down the coastal road as she rides away",
            "stage_index": 3,
            "stage_label": "release",
            "transition_to_next": "",
            "visual_focus": "Suriyeong accelerating away along the dark coastal road"
          }
        ],
        "flow_summary": "카메라는 어두운 해안도로의 굽은 지점을 낮은 위치에서 잡고 있다가, 수리영이 자전거로 진입하는 순간 도로의 곡선을 따라 함께 움직인다. 굽은 길의 정점에서 자전거를 크게 기울이는 전신을 포착한 뒤, 그녀가 어둠 속 도로를 빠져나가도록 시선을 흘려보낸다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly wider than the stage default to keep Suriyeong’s entire body, the tilted bicycle, and the curve of the road visible at the same moment.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low exterior position on the rooftop, about ankle height, three meters from the rooftop-room entrance, moving past the drying platform toward the metal door",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera continues forward with the intruder's movement and rises slightly toward the door seam as he stops at the entrance.",
            "visual_focus": "windblown dried leaves, the intruder's feet, and the closed rooftop-room door ahead"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight exterior position directly beside the rooftop-room door seam, at chest height, less than half a meter from the slightly opened door",
            "stage_index": 2,
            "stage_label": "threshold_observation",
            "transition_to_next": "After the door opens and the intruder slips inside, the camera holds for a beat, then releases from the doorway and begins a lateral move along the outside wall toward the window.",
            "visual_focus": "the narrow gap of the door and the dark interior beyond it"
          },
          {
            "camera_motion": "track",
            "camera_position": "Exterior wall-side position, chest height, tracking laterally from the door toward the dark window, keeping close to the rooftop-room facade",
            "stage_index": 3,
            "stage_label": "side_transition",
            "transition_to_next": "The lateral track ends by settling squarely in front of the unlit window glass, turning the wall surface into a reflective screen.",
            "visual_focus": "the blank exterior wall leading from the entrance to the unlit window"
          },
          {
            "camera_motion": "static",
            "camera_position": "Exterior position directly in front of the unlit window, chest height, about one meter from the glass, angled just enough to catch reflections on the pane",
            "stage_index": 4,
            "stage_label": "silhouette_reveal",
            "transition_to_next": "",
            "visual_focus": "overlapping shadows reflected in the dark window glass, with a large male silhouette lunging toward another shadow on the floor"
          }
        ],
        "flow_summary": "카메라는 옥상 바닥의 불길한 흔적을 따라 현관문 틈까지 접근한 뒤, 남자가 안으로 들어간 후에도 밖에 남아 문틈의 어둠을 응시한다. 이어 외벽을 따라 창문으로 미끄러지듯 이동해, 실내에서 벌어지는 폭력의 순간을 유리에 비친 실루엣으로 포착한다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "Frame the door gap as a narrow vertical slice, letting most of the room fall into deep darkness while keeping the camera completely still.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the camera fixed while the reflected shadows provide the motion; emphasize the sudden overlap of the large male silhouette and the lower shadow at the shoulder area.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "At ground level in the dim villa courtyard, about 12 feet behind and slightly to the side of Suriyeong, lens height around chest level",
            "stage_index": 1,
            "stage_label": "arrival",
            "transition_to_next": "The camera follows Suriyeong as she leaves the bicycle behind and moves toward the rooftop stair entrance, staying close enough to keep her urgency in frame.",
            "visual_focus": "Suriyeong hastily abandoning the bicycle near the wall"
          },
          {
            "camera_motion": "track",
            "camera_position": "On the narrow rooftop stairway, two to three steps below Suriyeong, lens height around waist to chest level, angled upward along the steep stairs",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "As Suriyeong suddenly slows and reacts to the smell, the camera climbs the last steps and arcs around toward her front.",
            "visual_focus": "Suriyeong climbing quickly and then stopping as the foul smell reaches her"
          },
          {
            "camera_motion": "static",
            "camera_position": "On the rooftop landing directly in front of Suriyeong, close enough for a tight face framing, lens height at eye level",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera follows her eyeline with a controlled pan away from her face toward the rooftop room entrance.",
            "visual_focus": "Suriyeong grimacing and covering her nose with one hand"
          },
          {
            "camera_motion": "pan",
            "camera_position": "From Suriyeong's position on the rooftop landing, eye-level, pivoting toward the rooftop room entrance several feet ahead",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The half-open metal front door of the rooftop room, hanging still in the quiet"
          }
        ],
        "flow_summary": "카메라는 마당에서 자전거를 급히 세우는 수리영을 따라 계단을 올라가며 긴박하게 접근한다. 옥상 입구에서 냄새를 감지한 수리영의 얼굴에 멈춘 뒤, 그녀의 시선을 따라 반쯤 열린 현관 철문을 드러낸다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the frame to emphasize the clenched nose, furrowed brow, and immediate physical disgust.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold the pan's endpoint longer than usual, letting the stillness of the half-open door dominate the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At chest height in the dim living room, several feet behind Suriyeong, moving from the entrance toward the bedroom corridor",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera continues forward with Suriyeong, leaving the living room clues behind and narrowing toward her room door.",
            "visual_focus": "Suriyeong entering the silent room, the unattended pot, the glowing television, and the uneasy stillness of the space"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Low near the threshold of Suriyeong's room, about one foot above the floor, angled downward from the doorway toward the interior",
            "stage_index": 2,
            "stage_label": "discovery_on_floor",
            "transition_to_next": "After holding on the blood trail, the camera begins to creep along the line of footprints toward the curtain at the far side of the room.",
            "visual_focus": "The pooled blood on the floor and the bloody footprints leading toward the curtain"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside Suriyeong's room near the curtain, at waist height, just behind and slightly to the side of Suriyeong's reveal angle",
            "stage_index": 3,
            "stage_label": "corpse_reveal",
            "transition_to_next": "The camera pushes past the opened curtain and settles closer to the seated body before shifting attention downward toward the hands and nearby details.",
            "visual_focus": "Minsuk's body slumped on the floor behind the curtain, head lowered and completely still"
          },
          {
            "camera_motion": "track",
            "camera_position": "Close beside the seated body at knee height, moving laterally from the torso area toward the hand near the floor",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "The camera follows Suriyeong's attention from the hand and wrist area, then tilts and pans upward toward the bed wall as the room's horror escalates.",
            "visual_focus": "The body, the clenched hand holding a crumpled photograph, and the wrist where the red mark changes"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Beside the bed at shoulder height, angled upward from the body side toward the wall above the bed",
            "stage_index": 5,
            "stage_label": "supernatural_reveal",
            "transition_to_next": "",
            "visual_focus": "The thick red circular mark appearing on the wall above the bed"
          }
        ],
        "flow_summary": "카메라는 거실의 불길한 정적에서 출발해 수리영의 방 안으로 낮게 미끄러져 들어가고, 바닥의 핏자국을 따라 커튼 뒤 시신까지 도달한다. 이후 시신의 손과 문신을 훑던 시선이 침대 위 벽으로 상승하며 붉은 원형 표식의 초자연적 공포로 마무리된다.",
        "scene_index": 12,
        "shot_assignments": [
          {
            "deviation_note": "The lens stays especially low and tight to emphasize the volume of blood and the directional pull of the footprints toward the curtain.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "The push-in pauses just after the curtain has been opened, holding the body in a centered, breathless reveal rather than continuing immediately.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 3
          },
          {
            "deviation_note": "The pan completes on a locked composition of the wall, allowing the red circle to dominate the frame with the bed edge only as spatial reference.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 17,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At curb level beside the police car, about 12 feet from Hyesu, lens at chest height under the dim streetlamp, angled slightly toward the open car door and the rooftop stairs beyond.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera breaks from the static curb position and begins tracking away from the car along Hyesu's line of sight toward the base of the exterior stairs.",
            "visual_focus": "Hyesu stepping out of the police car, with the open door and dark stairway held in the same spatial field."
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving across the small exterior approach between the car and the stair base, shoulder-height, gradually aligning head-on with Suriyeong at the bottom of the stairs.",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "The track continues forward as Hyesu moves into the space, then the camera eases closer to the two women for the urgent exchange.",
            "visual_focus": "Suriyeong frozen at the foot of the stairs, staring blankly ahead as the siren atmosphere surrounds her."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Near the stair base at eye level, close enough to place Hyesu and Suriyeong within conversational distance, slightly off Suriyeong's front axis.",
            "stage_index": 3,
            "stage_label": "approach",
            "transition_to_next": "As Suriyeong says what she saw, the camera shifts its attention across the eyeline and tightens toward Hyesu's face.",
            "visual_focus": "Hyesu reaching Suriyeong and demanding an answer, with Suriyeong's stunned upward response anchoring the tension."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "On Suriyeong's eyeline, very close to Hyesu, lens just below eye level at intimate reaction distance.",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "After the shock lands, the camera pivots and releases with Hyesu's movement toward the staircase.",
            "visual_focus": "Hyesu's face as the news registers and she freezes in disbelief."
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind and slightly below Hyesu and the younger detective at the base of the dark exterior stairs, angled upward along the staircase.",
            "stage_index": 5,
            "stage_label": "rush_upstairs",
            "transition_to_next": "",
            "visual_focus": "Hyesu and the younger detective charging up toward the rooftop room."
          }
        ],
        "flow_summary": "카메라는 경찰차 옆의 정적인 관찰 지점에서 출발해 혜수의 시선을 따라 계단 아래의 수리영에게 이동하고, 두 사람의 대화 거리까지 밀고 들어간다. 수리영의 말이 떨어지는 순간 혜수의 얼굴로 좁혀 충격을 붙잡은 뒤, 곧장 계단을 향한 돌진 흐름으로 이어진다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "Keep the frame wide enough to show Hyesu's full body, the open police car door, and one foot planted on the ground within the streetlamp pool.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "At the end of the track, settle into a brief frontal upper-body framing so Suriyeong's unfocused eyes dominate the image.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten to a face close-up, holding on Hyesu's widened eyes and parted lips before she moves.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height in the living-room entrance corridor, several meters from the open bedroom door, moving behind the adults and toward the doorway",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera follows Suriyoung's sudden movement through the open doorway, tightening the path into the bedroom without changing screen direction.",
            "visual_focus": "the empty apartment interior and the open path into Suriyoung's bedroom"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside Suriyoung's bedroom, at chest height just past the doorway, facing inward toward the center of the clean, orderly room from a full-body distance",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As Suriyoung rushes out toward the dining table, the camera pivots and tracks after her, leaving the bedroom on the same axis.",
            "visual_focus": "Suriyoung frozen in the middle of the spotless room, surrounded by the absence of any evidence"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near the dining table at eye level, slightly to the side of Suriyoung, with enough distance to include Hyesu and Detective Kim as they react",
            "stage_index": 3,
            "stage_label": "confrontation_reaction",
            "transition_to_next": "After Detective Kim exits, the camera eases closer to Hyesu and Suriyoung, then lowers its attention toward the bedroom side of the space.",
            "visual_focus": "the shifting reactions between Suriyoung, Hyesu, and Detective Kim around the empty table"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye level near Hyesu and Suriyoung, close enough for an intimate two-shot, angled slightly over Suriyoung's shoulder toward Hyesu's face",
            "stage_index": 4,
            "stage_label": "comfort",
            "transition_to_next": "The camera slips away from the two figures and glides back toward the open bedroom doorway, dropping gradually toward floor level.",
            "visual_focus": "Hyesu gently comforting Suriyoung after Detective Kim has left"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low to the floor inside Suriyoung's bedroom, about one meter from the backpack and old doll, looking across the bare floor in a quiet locked-off frame",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "the backpack and old doll sitting slightly out of their expected positions"
          }
        ],
        "flow_summary": "카메라는 거실 쪽에서 열린 방문으로 접근해 수리영의 충격을 확인한 뒤, 식탁 주변의 갈등과 혜수의 위로를 거쳐 다시 방 안 낮은 위치로 미끄러지듯 돌아온다. 마지막에는 인물의 감정에서 벗어나 바닥의 백팩과 인형에 정지하며, 사라진 흔적 대신 미세하게 달라진 물건의 위치를 드러낸다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "Hold the full-body framing a little longer than the moving stage suggests, letting Suriyoung's stillness contrast with the camera's inward approach.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten the angle slightly so Hyesu's hand on Suriyoung's shoulder and her warm gaze become the emotional center of the frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 4
          },
          {
            "deviation_note": "The tracking movement has fully settled into a locked-off still life; no characters are included, emphasizing the quiet displacement of the objects.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low eye-level position beside the coastal bus stop bench, about 4 meters away, angled three-quarters toward the bench with the dark sea beyond it",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow move in from the bench side as Hyesu steps into Suriyeong's space with the drink.",
            "visual_focus": "Suriyeong sitting in silence against the night sea and the empty roadside"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Eye-level position just off the front corner of the bench, closing from a medium distance to an intimate distance between Suriyeong and Hyesu",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As Suriyeong decides to leave, the camera holds close for her reaction, then tilts and rises slightly with her movement up from the bench.",
            "visual_focus": "Suriyeong's face as she looks up toward Hyesu, caught between doubt and resolve"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Close standing height beside the bench, slightly below Suriyeong's eye line at first, then lifting to match her as she stands",
            "stage_index": 3,
            "stage_label": "decision_rise",
            "transition_to_next": "The camera pivots off the bench line and lets Suriyeong pass out of the close space, then swings toward the coastal road to pick up her run.",
            "visual_focus": "Suriyeong's sudden upward movement and Hyesu's startled reaction near the bench"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind Suriyeong on the coastal road at shoulder-to-back distance, handheld-height around 1.5 meters, moving away from the bus stop into the darker stretch of road",
            "stage_index": 4,
            "stage_label": "escape_track",
            "transition_to_next": "The tracking movement eases off and can cut to a farther observing angle, leaving Hyesu behind near the bus stop and Suriyeong shrinking into the darkness.",
            "visual_focus": "Suriyeong running away down the coastal road while Hyesu remains behind her"
          }
        ],
        "flow_summary": "카메라는 밤바다를 등진 버스정류장 벤치 옆에서 시작해 수리영의 얼굴로 천천히 접근한 뒤, 그녀가 결심하고 일어나는 순간을 따라 시선을 들어 올린다. 이후 수리영이 도로로 뛰쳐나가면 카메라도 그 흐름을 받아 뒤에서 따라가며, 정류장에 남은 혜수와 어둠 속으로 멀어지는 수리영의 거리를 만든다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "Tighten slightly on Suriyeong's face as she lifts her gaze toward Hyesu, keeping the background soft and secondary.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold a clean rear angle at the peak of her stride, allowing the road ahead to fall into darkness while keeping her motion urgent.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the office just past the doorway, shoulder height, medium-wide distance, moving backward ahead of Hyesu as she enters from the corridor toward the duty desk",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera continues retreating into the office, then eases its angle rightward to include the seated detective at the desk.",
            "visual_focus": "Hyesu entering while calling on her phone, with the empty night office around her"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near the front corner of the duty desk at seated eye level, about two meters from the detective, angled between the approaching Hyesu and Kim detective",
            "stage_index": 2,
            "stage_label": "reaction",
            "transition_to_next": "As Hyesu closes the distance, the camera slides along the desk edge toward Kim detective's side, compressing the space between his face and the phone.",
            "visual_focus": "Kim detective looking up from the desk toward Hyesu"
          },
          {
            "camera_motion": "track",
            "camera_position": "Tight beside the duty desk at Kim detective's seated eye level, close lateral distance from both faces, positioned to catch Hyesu in profile as she thrusts the phone forward",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera drifts backward and slightly lower along the desk edge as Hyesu lowers the phone and leans her upper body over the desk.",
            "visual_focus": "Hyesu's phone screen held inches from Kim detective's face and her sharp sideward stare"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Low at the desk edge near Kim detective's side, slightly below Hyesu's eye line, close enough for the desktop to frame her leaning posture",
            "stage_index": 4,
            "stage_label": "confrontation",
            "transition_to_next": "",
            "visual_focus": "Hyesu leaning over the desk, looking down at Kim detective with cold certainty"
          }
        ],
        "flow_summary": "카메라는 사무실 입구에서 혜수를 따라 들어와 당직 책상까지 후퇴하며 공간을 열고, 김형사의 반응을 거쳐 책상 옆으로 좁게 파고든다. 이후 휴대전화가 얼굴 앞으로 들이밀리는 압박의 거리에서, 혜수가 책상 위로 몸을 숙여 주도권을 장악하는 구도로 자연스럽게 물러난다.",
        "scene_index": 16,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the lateral framing so the phone screen nearly touches Kim detective's face while Hyesu's sharp stare remains visible in profile.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Set the camera a little lower and farther back than the stage default so Hyesu's downward gaze over the desk feels dominant and unyielding.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "On a neighboring rooftop at eye level, set back across the narrow gap, holding a wide exterior view of the rooftop room against the bluish dawn sky",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow track along the rooftop edge toward the lit window and the adjacent parapet, narrowing the distance without breaking screen direction.",
            "visual_focus": "the rooftop room exterior with the single warm yellow window light glowing in the early dawn"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving laterally along the rooftop parapet at low eye level, closer to the lit window and the wall line where a cat can enter the frame",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The lateral move continues and lowers slightly to align with the top of the wall, preparing to follow the cat's movement over the parapet.",
            "visual_focus": "the lit window and the dark parapet edge in the foreground"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Low beside the parapet, near wall height, close enough to catch the cat's body as it crosses and drops beyond the edge",
            "stage_index": 3,
            "stage_label": "passing_action",
            "transition_to_next": "",
            "visual_focus": "the black cat moving across the wall and disappearing over the far side"
          }
        ],
        "flow_summary": "카메라는 이웃 옥상 쪽의 넓은 전경에서 시작해, 새벽빛 속 유일하게 불 켜진 옥탑방을 먼저 고립감 있게 보여준다. 이후 창문과 담벼락을 향해 낮게 접근하며 고양이의 시선과 움직임을 따라갈 수 있는 위치로 이어진다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wide and still long enough for the warm window to read as the only active light source before any approach begins.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Low at floor level beside the bed in the main bedroom, about 1.2 meters from the young woman, angled slightly upward toward her face and the open path to the doorway.",
            "stage_index": 1,
            "stage_label": "uneasy_wake",
            "transition_to_next": "The camera rises into a shoulder-height handheld follow as she leaves the bed area and moves toward the hallway and her own room.",
            "visual_focus": "the young woman waking, listening, and searching the silent room"
          },
          {
            "camera_motion": "track",
            "camera_position": "Shoulder height in the hallway, roughly 0.8 meters behind the young woman, looking past her toward the closed door, then following her inside toward the window.",
            "stage_index": 2,
            "stage_label": "room_search",
            "transition_to_next": "After the window check and the phone call interruption, the camera stays with her movement out of the room and cuts on her decision to enter the bathroom.",
            "visual_focus": "the closed door, the unnaturally neat room, and the window area she fears to inspect"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Inside the bathroom at chest height beside the sink, slightly behind the young woman's right shoulder, aimed into the mirror so the white tile wall is visible over her reflected shoulder.",
            "stage_index": 3,
            "stage_label": "mirror_hallucination",
            "transition_to_next": "The camera pans with her sudden head turn from the mirror to the real tile wall, then cuts to a handheld position backing into the living area as she rushes out.",
            "visual_focus": "the young woman's wet reflected face and the tile wall behind her in the mirror"
          },
          {
            "camera_motion": "track",
            "camera_position": "Handheld at shoulder height, backing away from the bathroom doorway through the living area toward the dining table, staying about 1 meter in front of the young woman.",
            "stage_index": 4,
            "stage_label": "escape_to_table",
            "transition_to_next": "The camera continues backing to the dining table, then arcs to her side and lowers toward tabletop height to align with her gaze at the framed photograph.",
            "visual_focus": "the young woman's panicked movement, the water glass, and the dining table ahead"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At dining table height near the far edge of the table, about 70 centimeters from the framed photograph and slightly below the young woman's eye line, angled between her fixed stare and the photograph.",
            "stage_index": 5,
            "stage_label": "photo_reveal",
            "transition_to_next": "",
            "visual_focus": "the young woman's downward stare and the framed photograph on the table"
          }
        ],
        "flow_summary": "카메라는 안방의 낮은 위치에서 시작해 수리영의 불안한 동선을 따라 방문, 욕실, 거실 식탁으로 이어지며 점점 더 주관적인 공포의 시선으로 좁혀진다. 욕실 거울의 환각 이후에는 도망치듯 거실로 빠져나와, 마지막에는 식탁 위 사진으로 돌진하듯 시선을 압축한다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "Hold the mirror axis steady and deepen focus on the red circular mark reflected on the tile wall, while the young woman's shoulder remains in the foreground reflection.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 3
          },
          {
            "deviation_note": "Frame slightly higher than the stage base so her widened eyes dominate while the photograph remains just below her eyeline on the table.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 18,
            "stage_index": 5
          },
          {
            "deviation_note": "Push past her reaction into an extreme close-up of the smiling woman's face in the photograph as it appears to melt, excluding the young woman from the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 19,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the quiet supermarket near the entrance aisle, eye level, wide distance from the front of the store looking inward along the aisles",
            "stage_index": 1,
            "stage_label": "establishing_search",
            "transition_to_next": "The camera tracks with Suriyeong from the entrance deeper into the store, narrowing the distance as she locates the male employee.",
            "visual_focus": "Suriyeong entering the sparse morning supermarket and scanning for the male employee"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "In the supermarket aisle beside the male employee, chest height, close conversational distance, slightly over the employee's shoulder toward Suriyeong",
            "stage_index": 2,
            "stage_label": "confrontation_approach",
            "transition_to_next": "After the question about CCTV, the interior exchange ends with a logical cut to the exterior wall where the camera reorients upward toward the security camera.",
            "visual_focus": "Suriyeong pressing the male employee for what he saw and whether CCTV could show it"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Outside the supermarket under the awning, eye level at full-body distance, angled upward toward the mounted CCTV camera above the entrance area",
            "stage_index": 3,
            "stage_label": "cctv_reveal",
            "transition_to_next": "The camera tilts down from the CCTV position and moves closer to Suriyeong as she begins the phone call.",
            "visual_focus": "The possible CCTV coverage area and Suriyeong confirming where her mother may have been recorded"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Outside the supermarket near the entrance, eye level, tight close-up distance directly facing Suriyeong",
            "stage_index": 4,
            "stage_label": "phone_reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's hardened expression as she holds the phone to her ear and explains the situation"
          }
        ],
        "flow_summary": "카메라는 한산한 마트 입구에서 수리영을 따라 내부로 들어가 남자 직원을 압박하는 대화 거리까지 좁혀간다. CCTV 단서가 나오면 컷으로 마트 밖으로 이동해 카메라 위치를 확인한 뒤, 수리영의 전화 통화 얼굴 클로즈업으로 감정의 긴장을 수렴한다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter on Suriyeong's upper body, keeping the male employee only as a near foreground presence or implied eyeline so her wide-eyed stare dominates.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Complete the push-in into a face close-up; exclude the CCTV from frame and hold on the rigid expression with the phone pressed close to her ear.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the dim office, waist-high behind the seated chair and about 6 feet from the monitor, looking past the chair toward the screen and the three people gathered around it",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow push forward toward the monitor and the seated male security staff, narrowing the room into the CCTV workstation.",
            "visual_focus": "the monitor area, the seated male security staff, 혜수, and 수리영 standing behind the chair"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Over the seated male security staff's shoulder at eye level, about 2 feet from the monitor, angled so the dark CCTV image and his gesture share the frame",
            "stage_index": 2,
            "stage_label": "investigation",
            "transition_to_next": "The camera continues past the monitor line, sliding around the back of the chair toward 수리영's side as the failed image recognition shifts into her anxiety.",
            "visual_focus": "the dark CCTV screen and the male security staff indicating the unclear section"
          },
          {
            "camera_motion": "static",
            "camera_position": "Close at 수리영's front-left side, eye level, roughly 18 inches from her face, with the monitor glow falling from off-screen",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "The camera tracks right across the rear edge of the chair and pans slightly, leaving 수리영's close reaction to arrive beside 혜수 near the monitor.",
            "visual_focus": "수리영's tightened expression and growing unease"
          },
          {
            "camera_motion": "static",
            "camera_position": "At the side of the monitor desk, slightly below 혜수's eye line and above the seated male security staff, about 3 feet from 혜수, framing her in profile as she looks down toward him",
            "stage_index": 4,
            "stage_label": "decision",
            "transition_to_next": "",
            "visual_focus": "혜수's firm look toward the male security staff in front of the monitor"
          }
        ],
        "flow_summary": "카메라는 어두운 총무과 안에서 모니터를 중심으로 시작해 CCTV 확인의 답답함을 따라 전진한 뒤, 수리영의 불안한 얼굴로 밀착한다. 이어 의자 뒤를 가로질러 혜수의 측면으로 이동하며, 그녀가 보안직원에게 단호히 요구하는 순간에 정착한다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the frame to an extreme facial close-up so the furrowed brow and sealed lips dominate, leaving the office background nearly abstract.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold 혜수 slightly higher in the frame than the seated male security staff to emphasize her firm downward gaze and control of the exchange.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "pan",
            "camera_position": "Eye-level wide position just inside the police office entrance, about 15 feet from the central desks, facing deeper into the room.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As the office activity pulls everyone toward the desks, the camera begins a slow track inward along the main aisle, keeping the room geography continuous.",
            "visual_focus": "the busy police office, Hyesu and Suriyeong entering, and the detectives around the desks"
          },
          {
            "camera_motion": "track",
            "camera_position": "Eye-level moving position along the central aisle, closing to about 8 feet from Hyesu's desk and slightly offset to the side of Suriyeong's chair.",
            "stage_index": 2,
            "stage_label": "isolation",
            "transition_to_next": "After the detectives rush out, the camera lowers and slides toward the desktop, turning Suriyeong's seated position into a foreground anchor before dropping its attention to the papers.",
            "visual_focus": "Suriyeong left alone at Hyesu's desk as the office empties"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low close position over the edge of Hyesu's desk, about 18 inches above the tabletop, angled down at a shallow diagonal from Suriyeong's side.",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera completes the push across the photographs, then tilts and rises along Suriyeong's line of sight to catch her face above the desk.",
            "visual_focus": "the scattered crime-scene photographs on the desk"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Seated eye-level close position just beyond the desk edge, about 3 feet from Suriyeong, slightly front-left of her face.",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "Following the sound from the computer, the camera tracks with Suriyeong's glance across the empty office toward Kim's desk and the glowing monitor.",
            "visual_focus": "Suriyeong's shocked face as she processes the photographs"
          },
          {
            "camera_motion": "track",
            "camera_position": "Eye-level position beside Kim's empty desk, moving from a three-quarter view of the monitor to within 1 foot of the screen.",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "After the screen information lands, the camera pulls attention back from the monitor toward Suriyeong's hands and then follows her movement toward the exit.",
            "visual_focus": "the computer monitor showing the phone location result over the sea"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Shoulder-height trailing position about 6 feet behind Suriyeong, moving from the desks toward the office doorway.",
            "stage_index": 6,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyeong leaving the police office after hiding the written coordinates"
          }
        ],
        "flow_summary": "카메라는 경찰서 입구의 넓은 동선에서 시작해 사람들이 빠져나간 뒤 수리영이 홀로 남은 책상으로 천천히 내려앉고, 사진에서 얼굴로 시선을 끌어올린다. 이후 알림음을 따라 김형사의 모니터로 이동해 바다 좌표를 드러낸 뒤, 수리영의 퇴장 방향으로 물러난다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "Tighter top-down framing than the stage default, letting the camera settle directly over the most graphic wounds among the scattered photographs.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 3
          },
          {
            "deviation_note": "The tilt stops earlier than a neutral seated close-up, holding her widened eyes and frozen expression while the desk remains implied below frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 4
          },
          {
            "deviation_note": "The track finishes in an extreme screen close-up so the red sea coordinate marker fills the frame and all surrounding office space drops away.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide eye-level position across the police station forecourt, about 8 meters from the parked bicycle, facing the building entrance and the curb line",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suriyoung begins to push off, the camera leaves the static wide position and starts tracking laterally toward the road side, closing the distance to the bicycle.",
            "visual_focus": "Suriyoung seated on the bicycle in front of the police station, poised to start moving"
          },
          {
            "camera_motion": "track",
            "camera_position": "Medium-low side position parallel to the bicycle, about 2 meters away and slightly ahead of the front wheel, moving along the forecourt toward the road",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera accelerates with the bicycle, sliding forward and lowering slightly to catch the moment when Suriyoung commits weight into the first strong pedal stroke.",
            "visual_focus": "Suriyoung’s body shifting forward and the bicycle beginning to roll out"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low three-quarter front-side position near road level, about 1.5 meters from the bicycle, moving backward and sideways in the direction of travel",
            "stage_index": 3,
            "stage_label": "dynamic_departure",
            "transition_to_next": "",
            "visual_focus": "Suriyoung leaning hard toward the road while pressing down powerfully on the bicycle pedal"
          }
        ],
        "flow_summary": "카메라는 경찰서 앞의 정지된 자전거를 넓게 잡은 뒤, 수리영이 출발하는 움직임에 맞춰 낮은 측면 트래킹으로 따라붙는다. 마지막에는 도로 쪽으로 몸을 크게 기울이며 페달을 강하게 밟는 순간까지 같은 이동선 위에서 속도를 끌어올린다.",
        "scene_index": 22,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly tighter and lower than the stage default to emphasize the force of the pedal stroke and the diagonal lean toward the road.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level in the dim aisle of the PC room, several meters away from Suryoung's computer station, moving along the row of desks toward her monitor line.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera continues forward along the desk row and eases into the narrow space directly in front of Suryoung, aligning with the monitor glow.",
            "visual_focus": "Suryoung seated at a computer in the dark PC room, isolated by the blue monitor light"
          },
          {
            "camera_motion": "static",
            "camera_position": "Directly in front of Suryoung at seated eye level, just beyond the monitor plane, close enough for a frontal upper-body view while keeping the screen light as the dominant source.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "After holding on her face and upper body, the camera tilts down toward the desk surface and the area near her lap and bag.",
            "visual_focus": "Suryoung's face and upper body washed in blue monitor light as she checks coordinates on the computer"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Still close to Suryoung's station at seated height, angled downward from the frontal position toward the desk edge and the open bag area.",
            "stage_index": 3,
            "stage_label": "task_detail",
            "transition_to_next": "",
            "visual_focus": "Printed map sheets being gathered and pushed into a backpack"
          }
        ],
        "flow_summary": "카메라는 어두운 PC방 통로에서 수리영의 자리로 다가가 모니터 빛에 잠긴 정면 상체를 붙잡고, 이후 같은 자리에서 시선을 아래로 내려 지도와 백팩 쪽 행위로 이어진다. 선택된 샷은 이 연속 동선의 중심 정지 지점에 해당한다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame tighter on the frontal upper body, letting the blue monitor glow fill her face while the surrounding PC room remains subdued.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide position on the shoulder of the coastal road, slightly elevated above eye level, far enough to hold the dark road, stormy sky, and rain-swept shoreline in one frame",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "A hard cut relocates the camera to a low parallel tracking position as Suriyeong enters the road in motion.",
            "visual_focus": "the empty coastal road under heavy rain and a sudden lightning flash"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low side-tracking position beside the road, about bicycle-handlebar height and a few meters lateral to Suriyeong, moving parallel with her pace",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "",
            "visual_focus": "Suriyeong forcefully pedaling her bicycle through the downpour"
          }
        ],
        "flow_summary": "카메라는 먼저 폭우와 번개가 덮친 해안 도로를 넓게 붙잡아 위협적인 공간을 세운 뒤, 컷으로 수리영 옆의 낮은 측면 트래킹 위치로 이동한다. 이후 그녀의 자전거 속도에 맞춰 빗속을 나란히 달리며 절박한 추진력을 따라간다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "Maintain a dynamic pure side profile, letting the heavy rain streak across the lens direction while Suriyeong's wet hair streams backward with the bicycle's speed.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "pan",
            "camera_position": "Inside the rooftop room living area, low at knee height near the entrance threshold, wide lens, about 12 feet from the open window and overturned dining chairs",
            "stage_index": 1,
            "stage_label": "establishing_disorder",
            "transition_to_next": "The camera finishes the pan on the open window and fallen chairs, then begins a slow forward track across the disturbed living room toward the open bedroom door.",
            "visual_focus": "The ransacked living room, open window, overturned dining chairs, and traces of an intruder"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving from the living room into the bedroom doorway at chest height, closing from a medium distance to within a few feet of the marked wall",
            "stage_index": 2,
            "stage_label": "approach_to_mark",
            "transition_to_next": "After arriving on the impaled photograph, the camera holds its proximity, then subtly shifts down and back to allow Suri-young's hand and body to enter the same spatial line.",
            "visual_focus": "The red circle on the bedroom wall and the blood-stained old photograph fixed at its center"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Inside Suri-young's bedroom, close to the wall at shoulder height, then drifting backward toward the bed as if retreating with her shock",
            "stage_index": 3,
            "stage_label": "close_observation_reaction",
            "transition_to_next": "The camera retreats out of the bedroom after Suri-young, pivoting through the doorway and continuing into the living room toward the entrance.",
            "visual_focus": "Suri-young absorbing the meaning of the photograph and the ruined room around her"
          },
          {
            "camera_motion": "track",
            "camera_position": "From the living room center to just inside the rooftop room entrance, waist height, looking outward toward the doorway and the dark stairwell beyond",
            "stage_index": 4,
            "stage_label": "withdraw_to_exit",
            "transition_to_next": "",
            "visual_focus": "Suri-young leaving the room with the old photograph clenched in her hand, becoming a dark silhouette against the stairwell"
          }
        ],
        "flow_summary": "카메라는 어질러진 거실의 낮은 시점에서 시작해 열린 창과 쓰러진 의자들을 훑고, 그대로 방 안의 붉은 원과 사진으로 끌려 들어간다. 이후 수리영의 충격을 따라 뒤로 물러나며 거실과 현관으로 빠져나가, 그녀가 계단 쪽으로 사라지려는 실루엣에서 멈춘다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "Hold the pan's final composition slightly wider to emphasize both the open window and the fallen dining chairs in one disturbed interior view.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "Push the camera closer than the stage's general approach distance, isolating the blood-stained photograph and the red circle so the wall texture nearly fills the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 2
          },
          {
            "deviation_note": "Let the camera lag just inside the threshold while Suri-young moves ahead, turning her into a dark silhouette with the stair direction visible beyond her lifted foot.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide, eye-level position at the empty harbor entrance, set back from the shoreline and facing the fog-covered water across the vacant port",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Cut closer to the same shoreline, dropping to rock level beside Suriyeong's waiting place while preserving the direction toward the sea.",
            "visual_focus": "the deserted fogbound harbor and the blank water where no boat is visible"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very low on the wet rock surface, within arm's reach of Suriyeong's phone, angled slightly downward from the side",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "After closing on the phone, the camera tilts and pans away from the rock surface toward the foggy waterline as the distant boat begins to appear.",
            "visual_focus": "the lit phone screen showing Hyesu's repeated calls"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Low-to-mid height near the rocks, oriented from Suriyeong's waiting spot toward the harbor mouth through the fog",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "The camera tracks off the rocks and follows Suriyeong's path toward the mooring point, closing the distance to the arriving boat.",
            "visual_focus": "the fishing boat emerging through the fog and approaching the port"
          },
          {
            "camera_motion": "track",
            "camera_position": "Side-on at dock level beside the moored boat, slightly below Inwoo's height and close to Suriyeong as she stands near the hull",
            "stage_index": 4,
            "stage_label": "confrontation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong looking up at Inwoo on the boat while the mooring line and hull separate their positions"
          }
        ],
        "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": "카메라를 더 낮춰 갯바위 질감과 휴대전화 화면만 선명하게 두고 주변은 젖은 어둠과 안개로 흐린다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "수리영의 굳은 옆얼굴을 전경에 두고, 인우는 배 위에서 약간 높게 보이도록 프레임을 기울이지 않고 높이 차만 살린다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the dim rooftop room, at shoulder height beside the low living area, about 5 feet from Hyesu and angled toward her profile near the window side",
            "stage_index": 1,
            "stage_label": "anxious_hold",
            "transition_to_next": "The camera leaves Hyesu's side line and tracks laterally across the cramped room toward the opposite standing position, keeping the room's empty air between them.",
            "visual_focus": "Hyesu listening to the recorded message with rigid tension in the fading light"
          },
          {
            "camera_motion": "track",
            "camera_position": "Mid-room at chest height, 4 feet from Kim, slightly below his eye line and facing him in a restrained medium close framing",
            "stage_index": 2,
            "stage_label": "dismissive_reaction",
            "transition_to_next": "After Kim's dismissive response, the camera continues its lateral drift past him and arcs back toward the window side, tightening the distance to Hyesu rather than cutting away.",
            "visual_focus": "Kim's indifferent, irritated upper body posture and twisted mouth as he answers Hyesu"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Near the window side of the rooftop room, at Hyesu's eye level, starting about 3 feet from her face and moving in to an intimate close distance",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera holds on Hyesu's fixed stare, then lets the off-screen clatter of the entrance pull attention toward the unseen doorway.",
            "visual_focus": "Hyesu's hardened face, overwhelmed by fear as she stares into the dark emptiness outside the window"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Still near Hyesu at eye level, close to the window side, pivoting away from her line of sight toward the entrance side of the room",
            "stage_index": 4,
            "stage_label": "ominous_reveal",
            "transition_to_next": "",
            "visual_focus": "The empty, wind-struck entrance area implied by the rattling metal door and the room's bleak silence"
          }
        ],
        "flow_summary": "카메라는 해질 무렵의 옥탑방 안에서 혜수의 불안한 위치를 출발점으로 삼아, 방 안을 가로질러 김형사의 무심한 반응을 포착한 뒤 다시 창가의 혜수 얼굴로 조여 들어간다. 마지막에는 현관문 소리에 이끌리듯 시선을 돌리며 방 안의 황량한 공기를 이어간다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "Frame him as an upper-body shot with a slight low restraint, allowing his crossed-arm posture and irritated mouth movement to dominate while the background remains sparse.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten to a face close-up at the end of the dolly-in, holding her gaze toward the dark window void without revealing what she sees.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "On the open deck near the stern rail, chest height, wide distance, facing forward along the deck toward Suriyeong with the sunset sea surrounding the boat",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera rolls forward along the deck centerline, lowering slightly and narrowing the distance until Suriyeong fills the frame from the front.",
            "visual_focus": "Suriyeong alone on the deck with the sea map as the boat drifts on open water"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Mid-deck, slightly below eye level, about two meters in front of Suriyeong, facing her head-on at medium distance",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues past the centerline and arcs to Suriyeong's side as her attention shifts from the map to the old photograph.",
            "visual_focus": "Suriyeong's tense face and the unfolded sea map held in both hands"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside Suriyeong's shoulder at shoulder height, close distance, looking across her side profile toward the photograph in her hand",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera keeps sliding around the photograph, using it as a pivot point, then pushes across the gap toward Inwoo's face.",
            "visual_focus": "Suriyeong studying the old photograph between her fingertips"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Near Inwoo at eye level, very close distance, angled slightly downward from his eyeline toward the photograph and then up into his face",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "The camera breaks from the tight reaction and shifts into handheld pursuit as Inwoo suddenly rises and moves toward the wheelhouse.",
            "visual_focus": "Inwoo's startled eyes and tense face as he looks down at the photograph"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "On the deck behind and slightly to the side of Inwoo, shoulder height, medium distance, oriented toward the wheelhouse door",
            "stage_index": 5,
            "stage_label": "transition",
            "transition_to_next": "",
            "visual_focus": "Inwoo's abrupt move toward the wheelhouse and Suriyeong reacting behind him"
          }
        ],
        "flow_summary": "카메라는 해질녘 갑판의 넓은 거리에서 수리영에게 천천히 접근한 뒤, 지도에서 사진으로 시선을 따라 측면으로 감겨 들어간다. 사진을 매개로 인우의 얼굴 클로즈업까지 밀고 들어가며 긴장을 포착하고, 이후 조타실 쪽으로 튀는 움직임을 따라갈 준비를 한다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "Movement settles briefly into a steadier frontal upper-body framing so the map and Suriyeong's frown read clearly.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "The frame tightens slightly from the stage default to isolate her fingertips, the photograph, and her sideward stare.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighter than the stage default, cropping into Inwoo's face so his widened eyes dominate while the photograph remains implied below his gaze.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "In the rear corner of the cramped wheelhouse, at eye level about 1.5 meters high, 3 meters from the helm, looking diagonally across Suriyoung blocking Inwoo near the steering wheel",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow push forward through the narrow space, narrowing the distance to Suriyoung as her anger rises.",
            "visual_focus": "Suriyoung confronting Inwoo in the tight wheelhouse space"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly in front of Suriyoung at eye level, moving from about 1.2 meters to 50 centimeters from her face",
            "stage_index": 2,
            "stage_label": "confrontation_close",
            "transition_to_next": "As she mentions her mother, the camera breaks downward from her face, following the line of her arm toward the old photograph.",
            "visual_focus": "Suriyoung's furious face and emotional outburst"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Low at hand height, about 30 centimeters above the console or held photograph, very close to Suriyoung's pointing hand",
            "stage_index": 3,
            "stage_label": "evidence_close_observation",
            "transition_to_next": "The camera lifts off the photograph and arcs toward Inwoo, carrying the revealed name and image into his reaction space.",
            "visual_focus": "Suriyoung's trembling finger indicating the child's face in the old photograph"
          },
          {
            "camera_motion": "track",
            "camera_position": "At Inwoo's front three-quarter side, eye level, about 70 centimeters from his face, sliding past him toward his shoulder line",
            "stage_index": 4,
            "stage_label": "reaction_orbit",
            "transition_to_next": "The track continues around Inwoo's shoulder, letting his body become foreground while the camera's sightline opens toward the rear wall.",
            "visual_focus": "Inwoo turning pale and freezing as he processes the name"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Just behind and slightly above Inwoo's shoulder, eye level, 60 centimeters from him, aimed past him toward the worn wall of the wheelhouse",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "After holding the grotesque wall reveal, the camera pans back toward Suriyoung and loosens into an unstable movement as her consciousness fades.",
            "visual_focus": "Numerous disturbing red circular markings covering the old wall beyond Inwoo"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Close beside Inwoo and Suriyoung at shoulder height, within 50 centimeters, drifting downward with Suriyoung's collapsing body",
            "stage_index": 6,
            "stage_label": "collapse_withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyoung losing consciousness and falling against Inwoo's shoulder"
          }
        ],
        "flow_summary": "카메라는 비좁은 조타실 뒤편에서 출발해 수리영의 분노한 얼굴로 밀고 들어간 뒤, 사진 속 단서로 떨어졌다가 인우의 반응을 타고 어깨너머 벽면의 붉은 원형 표식들을 드러낸다. 이후 다시 수리영에게 돌아와 의식이 무너지는 움직임으로 씬을 마무리한다.",
        "scene_index": 29,
        "shot_assignments": [
          {
            "deviation_note": "Tighten to a face-filling frontal close-up, centering her open mouth and bloodshot eyes while keeping the push-in pressure from the stage.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Use very shallow focus so the trembling fingertip and the child's face in the photograph dominate the frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Frame Inwoo's shoulder as a near foreground edge while the wall of red circular markings fills the background in a grotesque over-the-shoulder reveal.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Very wide offshore position, high above the waterline, far from any vessel, facing the low sunset over an empty open sea",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow lateral track and slight forward drift, re-centering the horizon until the dense fog band dominates the frame.",
            "visual_focus": "golden sunset reflections stretching across the calm sea surface"
          },
          {
            "camera_motion": "track",
            "camera_position": "High wide position over the open water, several hundred meters from the fog bank, level with the horizon and facing the massive gray wall head-on",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "A hard cut drops the camera from the grand wide view to a lower, closer position near the water as the small fishing boat approaches the fog.",
            "visual_focus": "the enormous gray fog bank dividing the sea and sky like a heavy boundary"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low water-level position ahead and slightly to the side of a small fishing boat, close enough to feel the bow entering the fog wall",
            "stage_index": 3,
            "stage_label": "approach",
            "transition_to_next": "",
            "visual_focus": "the boat’s bow slipping into the thick, opaque fog as the water parts around it"
          }
        ],
        "flow_summary": "카메라는 해질녘 텅 빈 바다의 넓은 정적에서 출발해, 수평선을 가르는 거대한 안개 띠를 정면으로 드러낸다. 이후 웅장한 원경에서 낮은 수면 가까이로 컷하여 배가 안개 속으로 들어가는 방향으로 흐름을 이어간다.",
        "scene_index": 30,
        "shot_assignments": [
          {
            "deviation_note": "Hold the composition especially wide and monumental, minimizing visible foreground detail so the fog band feels like it splits the world in two.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "e3c4ef43-7276-4881-89d5-74c88a4baf63",
  "resolved_model": "gpt",
  "updated_at": "2026-05-21T11:02:17.069546+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}