{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "At chest height, several meters ahead of the Korean man, retreating backward through dense undergrowth on the forest path",
            "stage_index": 1,
            "stage_label": "pursuit_establishing",
            "transition_to_next": "A sharp downward cut drops the viewpoint from the man's forward rush to the forest floor details in his path.",
            "visual_focus": "the Korean man fleeing through the foggy forest"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Low to the mossy dirt ground, at ankle-to-thigh height, close beside the fleeing man's path",
            "stage_index": 2,
            "stage_label": "injury_trace",
            "transition_to_next": "The camera pans and tilts upward along the man's body line, ending near his face as his movement falters.",
            "visual_focus": "the abandoned shoe, the wounded leg, and traces of blood on the forest floor"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Very close in front of the Korean man's face at eye level, moving backward only a short distance as he stumbles",
            "stage_index": 3,
            "stage_label": "fear_close_observation",
            "transition_to_next": "A sudden whip-like turn and slight pullback reorients the camera toward the space above and behind him where the attacker enters.",
            "visual_focus": "the Korean man's terrified face and widening eyes"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low front three-quarter angle, about two meters from the Korean man, lens slightly below chest height and tilted upward into the dark space above him",
            "stage_index": 4,
            "stage_label": "attack_reveal",
            "transition_to_next": "The camera releases from the suspended attack moment and drops its gaze toward the ground, following the downward force into impact.",
            "visual_focus": "the indistinct black silhouette suspended in midair with both arms reaching toward the Korean man"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "On the dirt ground beside the fallen Korean man, very low and close to his head and upper body",
            "stage_index": 5,
            "stage_label": "impact_close_observation",
            "transition_to_next": "",
            "visual_focus": "the Korean man pinned to the forest floor in pain under the weight of the black silhouette"
          }
        ],
        "flow_summary": "카메라는 숲속을 도망치는 남자를 앞에서 후퇴하며 따라가다가, 바닥의 단서와 얼굴의 공포를 거쳐 갑자기 위쪽 공간으로 시선을 틀어 검은 인영의 습격을 포착한다. 이후 공격의 낙하 방향을 따라 낮게 떨어져, 흙바닥에 쓰러진 남자의 고통스러운 순간으로 귀결된다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "Hold the action in a near-freeze at the peak of the leap, emphasizing the silhouette's outstretched arms before impact.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          },
          {
            "deviation_note": "Keep the camera closer to the man's open mouth and strained face than the stage default, while still implying the crushing weight above him.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the mouth of the dim back alley, eye level, about 8 meters from the utility pole, looking straight down the narrow passage.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward track along the alley axis toward the two figures by the utility pole.",
            "visual_focus": "the two figures pressed together under the weak streetlight near the utility pole"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Mid-alley, eye level, about 3 meters from the pair, drifting slightly toward the man's side of the embrace.",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The dolly continues into an intimate side angle, tightening from the man's face line down toward the woman's neck.",
            "visual_focus": "the man's predatory stillness and the woman's trapped posture"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight side position at neck height, less than 1 meter from the pair, angled across the woman's shoulder toward the man's face and mouth.",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "As the woman's body gives way, the camera tilts and drops its attention downward, following the collapse toward the pavement.",
            "visual_focus": "the Korean man biting firmly into the Korean woman's neck"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Low beside the pavement, about 40 centimeters above ground and 1 meter from the fallen woman, looking slightly downward along her body toward her face and wounded neck.",
            "stage_index": 4,
            "stage_label": "fall_reveal",
            "transition_to_next": "",
            "visual_focus": "the Korean woman lying on the ground with blood at her neck and a vacant, horrifying stare"
          }
        ],
        "flow_summary": "카메라는 어두운 뒷골목 입구에서 전봇대 아래의 두 사람을 바라보다가 천천히 접근해 목덜미를 문 남자의 정지된 순간에 멈춘다. 이어 여자가 무너지는 방향을 따라 시선을 아래로 떨어뜨리며 바닥에 쓰러진 끔찍한 결과를 드러낸다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame rigidly for a frozen, predatory tableau; keep the composition tight enough that the bite dominates the shot.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Settle the tilt at the end of the fall so the woman's vacant eyes and bleeding neck remain the visual endpoint of the camera path.",
            "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 just inside the police line, several meters from the dirt ground investigation area, angled slightly downward from the perimeter toward the active scene",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera glides laterally along the police line and lowers its attention from the wider investigation area toward the stretcher being handled nearby.",
            "visual_focus": "the taped-off ground, investigators working inside the perimeter, and the controlled crime scene activity"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low chest height beside the stretcher, close enough to frame both ends of the body bag and the police officers' hands, about one meter from the stretcher edge",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "After holding on the stretcher, the camera tracks backward and pivots across the police line toward the command presence outside the immediate recovery area.",
            "visual_focus": "the body bag on the stretcher and the police officers gripping it at both ends"
          },
          {
            "camera_motion": "track",
            "camera_position": "At upper-torso height beyond the police line, directly facing Hyesu from a few meters away, with the active scene behind the camera direction implied by her gaze",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Hyesu holding a radio and staring past the control line toward the crime scene"
          }
        ],
        "flow_summary": "카메라는 통제선 안쪽의 현장 전경에서 출발해 시신 수거가 이뤄지는 들것으로 시선을 좁힌 뒤, 통제선 바깥의 지휘자인 혜수에게 이동한다. 현장의 물리적 증거에서 책임자의 굳은 반응으로 초점이 이어지는 흐름이다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "The movement pauses into a firm, nearly frozen hold to emphasize the stillness of the body bag and the officers' grip.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Framing tightens slightly to a frontal upper-body composition, keeping her radio visible while the background remains secondary.",
            "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 aerial position above the outskirts of Incheon, looking down at a cluster of old low-rise residential buildings from a distant bird's-eye angle",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera descends slowly and drifts forward toward one aging multi-family villa, tightening the geography from neighborhood scale to a single rooftop.",
            "visual_focus": "the peripheral urban neighborhood and the aged residential blocks"
          },
          {
            "camera_motion": "static",
            "camera_position": "High bird's-eye position directly above and slightly offset from the flat rooftop of an old multi-family villa, far enough to show the small rooftop room as part of the building's roof plane",
            "stage_index": 2,
            "stage_label": "rooftop_observation",
            "transition_to_next": "",
            "visual_focus": "the small rooftop room rising from the flat roof of the old villa"
          }
        ],
        "flow_summary": "카메라는 인천 변두리의 넓은 부감에서 시작해 오래된 빌라 한 채의 옥상으로 천천히 좁혀 들어간다. 최종적으로 옥탑방 외부를 내려다보며, 뉴스 보도의 불안한 분위기를 공간적으로 고정한다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low counter-height close position beside the stove, about 1 foot from the pot, angled slightly across the kitchen toward the sink and living area beyond",
            "stage_index": 1,
            "stage_label": "establishing_kitchen_detail",
            "transition_to_next": "The camera pulls back from the stove line and begins tracking out of the kitchen axis toward the small dining area, letting the domestic details connect to the family space.",
            "visual_focus": "white steam rising from the boiling pot on the stove"
          },
          {
            "camera_motion": "track",
            "camera_position": "Shoulder-height position moving from the kitchen edge toward the dining table, keeping the living room and table in the same shallow interior depth",
            "stage_index": 2,
            "stage_label": "approach_family_space",
            "transition_to_next": "After holding the mother and daughter in the room, the scene makes a clear logical cut to the entrance area for the departure beat.",
            "visual_focus": "Minsook and Suriyoung sharing the table space while the kitchen remains present behind them"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Medium-wide position near the entrance wall, at chest height, looking diagonally toward the doorway area where Suriyoung is preparing to leave and Minsook stands nearby",
            "stage_index": 3,
            "stage_label": "entrance_transition",
            "transition_to_next": "The camera tightens from the entrance two-shot line toward Minsook's lowered arm, following Suriyoung's glance downward.",
            "visual_focus": "Suriyoung near the door with Minsook in close proximity"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight close-up position just inside the entrance area, slightly below chest height and less than 1 foot from Minsook's inner wrist",
            "stage_index": 4,
            "stage_label": "reveal_mark",
            "transition_to_next": "A small pan and rack focus travel along Suriyoung's sightline from the wrist upward to her face, preserving the same entrance geography.",
            "visual_focus": "the vivid red circular mark on the inside of Minsook's wrist"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Close face-level position near the entrance, now angled from Minsook's wrist line toward Suriyoung's face at intimate distance",
            "stage_index": 5,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's indifferent eyes fixed toward Minsook's wrist"
          }
        ],
        "flow_summary": "카메라는 부엌의 끓는 냄비에서 시작해 식탁이 있는 생활 공간으로 물러나며 모녀의 일상을 이어 보고, 장면 전환 후 현관 쪽으로 점프해 떠나는 순간의 시선 흐름을 따라간다. 마지막에는 수리영의 시선이 민숙의 손목 표식에 닿고, 그 시선이 다시 수리영의 무심한 얼굴로 이어진다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "Hold slightly longer on the steam so the kitchen sound and tension can register before the camera leaves the stove area.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 1
          },
          {
            "deviation_note": "Frame only the inner wrist and the red circular mark, excluding distracting background movement.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 4
          },
          {
            "deviation_note": "Keep Suriyoung's face calm and observational rather than alarmed; her eyeline remains subtly downward toward the wrist.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Wide roadside position on the ocean side of the coastal road, about 1.4 meters high and several meters away from the bicycle lane, moving gently in the same direction as the rider",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera accelerates smoothly along the road and closes the lateral distance to match the rider's speed from the side.",
            "visual_focus": "the coastal road, the sea horizon, and Suriyeong riding into the frame"
          },
          {
            "camera_motion": "track",
            "camera_position": "Parallel side-tracking position beside Suriyeong, saddle height, about 2 meters from the bicycle, maintaining a clean profile view with the sea beyond the road",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera glides slightly ahead of the bicycle and begins to rotate its attention down the road as the movement continues.",
            "visual_focus": "Suriyeong pedaling with earphones in, her hair blown back by the wind"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Slightly ahead and to the side of Suriyeong on the coastal road, still near saddle height but angled forward toward the open road",
            "stage_index": 3,
            "stage_label": "anticipation",
            "transition_to_next": "",
            "visual_focus": "the road ahead and the surrounding seaside air, holding space for the sudden offscreen dog bark"
          }
        ],
        "flow_summary": "카메라는 해안가 도로의 넓은 풍경에서 출발해 수리영의 자전거와 속도를 맞추며 측면으로 붙고, 이후 살짝 앞서가며 다음 소리의 긴장을 남긴다. 전체 흐름은 바다와 바람, 페달링의 활기를 끊김 없이 따라가는 이동이다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Hold a clean side composition: Suriyeong is seated on the bicycle saddle with one pedal pressed down, hair streaming backward, and the sea visible beyond the coastal road.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low camera just outside the kennel bars, about 2 feet high and 4 feet from the front of the cage, looking slightly upward into the Rottweiler's head and raised forelegs.",
            "stage_index": 1,
            "stage_label": "establishing_threat",
            "transition_to_next": "The camera eases backward from the bars and lowers its angle into a wider view, keeping the Rottweiler centered as its aggression begins to drain away.",
            "visual_focus": "the snarling Rottweiler inside the kennel"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Low three-quarter position outside the kennel, about 2.5 feet high and 7 feet from the cage, wide enough to hold the Rottweiler's full body on the kennel floor.",
            "stage_index": 2,
            "stage_label": "subdual_result",
            "transition_to_next": "After the dog settles, the camera tracks laterally away from the kennel along the shelter aisle, passing the doctor and the surrounding cages toward 수리영's next task.",
            "visual_focus": "the calmed Rottweiler standing firmly on the floor"
          },
          {
            "camera_motion": "track",
            "camera_position": "Shoulder-height camera moving along the kennel aisle, 5 to 8 feet from 수리영, traveling parallel to the line of cages and then toward the grooming area.",
            "stage_index": 3,
            "stage_label": "workload_transition",
            "transition_to_next": "The track continues into the grooming area and descends from 수리영's working position toward the small dog's coat, ending in a tight detail angle.",
            "visual_focus": "수리영 moving from the kennel area toward the dogs waiting to be handled"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight tabletop-height position beside the grooming surface, about 1 foot from the small dog, lens level with 수리영's hands and the scissors.",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "the scissors meeting the tangled clump of the small dog's fur in 수리영's hand"
          }
        ],
        "flow_summary": "카메라는 철창 앞 낮은 위치에서 사나운 로트와일러를 정면으로 붙잡았다가, 개가 얌전해지는 순간 뒤로 빠져 전신을 확인한다. 이후 보호원 통로를 따라 수리영의 다음 업무로 이동해, 미용대 위 작은 개의 털과 가위로 시선을 좁힌다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "Hold the framing tighter on the bars and teeth than the stage's general threat view, emphasizing the raised forelegs against the cage.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Widen slightly at the end of the dolly-out so the full body, grounded paws, and curled tail are all visible.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Compress the frame into an extreme close-up so only 수리영's hand, the metal scissor blades, and the matted fur dominate the image.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Street-side at shoulder height, moving from the busy market frontage toward the large mart entrance, staying a few meters behind and slightly to the left of 수리영",
            "stage_index": 1,
            "stage_label": "establishing_approach",
            "transition_to_next": "The camera follows 수리영 through the entrance and compresses the distance as she moves into the store aisles.",
            "visual_focus": "수리영 arriving at the mart from the crowded evening street"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the mart aisle at eye level, just over the female employee's shoulder, about one meter from 수리영's face",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As the male employee speaks from the side aisle, the camera pivots and slides laterally with 수리영's gaze toward the new voice.",
            "visual_focus": "수리영 reacting to the female employee's answer near the shelves"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At the aisle intersection, eye level and close to 수리영, angled from her front-left side while the male employee stands off her eyeline",
            "stage_index": 3,
            "stage_label": "reaction_reveal",
            "transition_to_next": "The camera holds on 수리영's fixed reaction, then tracks backward as she turns away toward the exit.",
            "visual_focus": "수리영's alarmed face as she listens to the male employee"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving backward through the mart entrance corridor at chest height, facing 수리영 as she heads toward the glass doors",
            "stage_index": 4,
            "stage_label": "withdraw_to_exit",
            "transition_to_next": "The camera passes through the doorway with her and cuts the interior noise into the exterior street ambience.",
            "visual_focus": "수리영 leaving the mart toward the darkening street"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the mart entrance at eye level, close in front of 수리영, with the glass doors and evening street lights behind her",
            "stage_index": 5,
            "stage_label": "exterior_anxiety",
            "transition_to_next": "",
            "visual_focus": "수리영 trying to call someone and growing anxious"
          }
        ],
        "flow_summary": "카메라는 번화가에서 마트 안으로 수리영을 따라 들어간 뒤, 직원들의 말에 따라 그녀의 시선과 반응을 좁혀 간다. 이후 출구로 함께 물러나며 바깥의 어두운 거리 앞에서 전화가 연결되지 않는 수리영의 불안을 클로즈업으로 붙잡는다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "Frame tightens slightly more than the stage default to emphasize her widened eyes while keeping the female employee's position implied off-camera.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Push into a tighter close-up and let the male employee remain only as an eyeline source, not the main subject.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold the camera still longer than the preceding exit movement, isolating her face and the phone against the exterior background.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low roadside position on the dark coastal road, about 1 meter above ground and several meters from the lane, angled parallel to the empty asphalt",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suriyoung rides into the frame, the camera accelerates from the roadside and matches her speed in a lateral tracking move.",
            "visual_focus": "The empty coastal road under heavy night darkness, with the approaching bicycle entering the space"
          },
          {
            "camera_motion": "track",
            "camera_position": "Side-tracking position beside Suriyoung, at waist-to-chest height, roughly 2 meters from the bicycle, moving parallel along the coastal road",
            "stage_index": 2,
            "stage_label": "speed_observation",
            "transition_to_next": "The camera eases off its matched speed, letting the bicycle begin to pull ahead while maintaining the same road direction.",
            "visual_focus": "Suriyoung in side profile riding hard, her tense face, forceful pedal stroke, and hair swept backward by speed"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Slightly behind and to the side of the bicycle path, still low near road level, increasing distance as the rider moves farther down the coast road",
            "stage_index": 3,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyoung continuing down the dark coastal road toward home"
          }
        ],
        "flow_summary": "카메라는 어두운 해안도로를 낮은 위치에서 먼저 비워 보여준 뒤, 수리영이 프레임에 들어오는 순간 옆으로 속도를 맞춰 따라붙는다. 이후 그녀의 급한 페달링과 굳은 표정을 측면에서 포착하고, 마지막에는 살짝 뒤로 물러나며 질주감을 남긴다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "Frame is tightened into a strong side composition, emphasizing the downstroke of one pedal and the backward sweep of her hair to intensify the sense of speed.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Exterior rooftop, very low to the ground about 20 cm high, tracking across the concrete from the drying herbs and clothesline area toward the rooftop room entrance, several meters from the rusted metal door.",
            "stage_index": 1,
            "stage_label": "establishing_approach",
            "transition_to_next": "The camera continues the same forward movement toward the entrance and rises slightly behind the unknown man as he stops at the door.",
            "visual_focus": "wind-blown dried leaves, the unknown man's shoes, his elongated shadow, and the rusted rooftop door ahead"
          },
          {
            "camera_motion": "static",
            "camera_position": "Exterior rooftop, standing-height camera about 1.6 m high, positioned two meters behind the unknown man and centered on his back before the rusted metal door.",
            "stage_index": 2,
            "stage_label": "threshold_standoff",
            "transition_to_next": "The camera pushes closer from the man's back toward the door seam and follows the implied break-in action as the lock gives way.",
            "visual_focus": "the unknown man's huge dark back blocking the door, the narrow door seam, and the locked entrance"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Exterior threshold and window line, shoulder height, close to the rusted door and angled toward the small window glass beside the entrance.",
            "stage_index": 3,
            "stage_label": "breach_reflection",
            "transition_to_next": "A hard cut carries the movement from the reflected shadow on the window into the room, placing the camera behind Minsuk at the moment of intrusion.",
            "visual_focus": "the door opening slightly and the distorted dark shadow of the unknown man reflected in the window glass"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Interior room, about 1.2 m high, just behind and slightly to the side of Minsuk, close enough to feel the attacker entering her personal space.",
            "stage_index": 4,
            "stage_label": "attack_contact",
            "transition_to_next": "The handheld camera lunges around Minsuk's shoulder line into a tighter frontal angle as her body reacts to the pain.",
            "visual_focus": "the unknown man's dark shape closing in from behind and both hands clamping onto Minsuk's shoulders"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Interior room, eye-level extreme close distance in front of Minsuk, roughly 30 cm from her face, with the background falling away into darkness.",
            "stage_index": 5,
            "stage_label": "pain_close_observation",
            "transition_to_next": "",
            "visual_focus": "Minsuk's bloodied, contorted face, raised eyes, and open mouth in extreme pain"
          }
        ],
        "flow_summary": "카메라는 옥상 바닥의 바람과 잎사귀에서 출발해 현관 앞 남자의 뒷모습까지 접근한 뒤, 문과 창문 반사를 거쳐 방 안으로 논리적 컷을 한다. 이후 침입자의 접촉 순간을 따라 흔들리며 민숙의 고통스러운 얼굴로 급격히 밀착한다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly longer than the stage default so the man's faceless, oversized silhouette dominates the rusted door before any break-in detail is suggested.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Move a fraction closer than the stage base position and crop out most of the attacker so the force of the hands on Minsuk's shoulders becomes the center of the frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 4
          },
          {
            "deviation_note": "End the handheld lunge in an extreme close-up, tightening from the stage's frontal angle until Minsuk's bloodied expression nearly fills the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "At the top of the concrete stair exit, eye level and very close to Suryoung's front-left side, less than one foot from her face as she reaches the rooftop landing.",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera backpedals from her face onto the rooftop floor, keeping her centered as the space around her opens up.",
            "visual_focus": "Suryoung's face as she blocks her nose and mouth against the sudden foul smell"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "On the dark rooftop floor, three to four meters in front of Suryoung at chest height, facing her squarely with enough distance to include her whole body and both feet planted on the ground.",
            "stage_index": 2,
            "stage_label": "freeze_reveal",
            "transition_to_next": "The camera leaves her frozen body by sliding laterally and rotating along her line of sight toward the rooftop room entrance.",
            "visual_focus": "Suryoung standing rigid and motionless on the rooftop"
          },
          {
            "camera_motion": "track",
            "camera_position": "Centered on the rooftop several meters from the rooftop room entrance, at human eye level, aligned straight toward the half-open metal front door.",
            "stage_index": 3,
            "stage_label": "door_reveal",
            "transition_to_next": "",
            "visual_focus": "The half-open metal door of the rooftop room and the black darkness inside"
          }
        ],
        "flow_summary": "카메라는 계단을 오른 수리영의 얼굴 가까이에서 악취를 감지한 순간을 붙잡은 뒤, 뒤로 물러나 옥상 위에 얼어붙은 전신을 드러낸다. 이어 그녀의 시선을 따라 옆으로 이동해 반쯤 열린 옥탑방 현관 철문 정면에 멈춘다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the framing into an extreme facial close-up, cropping out most of the rooftop so the disgusted expression dominates.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 1
          },
          {
            "deviation_note": "Settle the dolly-out into a still, full-body frame with extra dark floor visible around her feet to emphasize her sudden paralysis.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 2
          },
          {
            "deviation_note": "Complete the track into a perfectly frontal, symmetrical hold on the half-open door, letting the interior read as pure blackness.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level just inside the open front door, 8-10 feet from the living room center, slowly moving past the dim lamp, the cold pot area, and the glowing television toward the inner hallway",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera continues its forward track, narrowing from the living room into the doorway area as Suriyeong searches deeper inside.",
            "visual_focus": "the dark living room and Suriyeong entering while calling for her mother"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At shoulder height near the bedroom corridor, 4-6 feet from the main bedroom door and then angled back toward the dining table",
            "stage_index": 2,
            "stage_label": "investigation",
            "transition_to_next": "After registering the empty room and the disturbed cups, the camera pivots with Suriyeong toward her own bedroom door and follows her hand into the darker room.",
            "visual_focus": "the empty main bedroom entrance, the dining table, and the two teacups"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low at waist-to-chest height inside Suriyeong's bedroom, starting near the doorway and moving along the blood trail across the floor toward the curtained window",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "When the curtain opens, the camera holds on the body for a beat, then cuts across the axis to Suriyeong's frozen face for the emotional impact.",
            "visual_focus": "the blood trail leading to the curtain, then Minsuk's body seated at the window"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight at Suriyeong's eye level, about 2 feet from her face, positioned just inside the bedroom facing back toward the doorway side",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "The camera lowers with her attention toward the body and hand area, then rises and turns with her alarm toward the bed wall.",
            "visual_focus": "Suriyeong's stunned face and locked, disbelieving reaction"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At bed height near the foot of the bed, squared frontally to the wall above the bed, close enough for the wall mark to dominate the frame",
            "stage_index": 5,
            "stage_label": "symbol_reveal",
            "transition_to_next": "",
            "visual_focus": "the large blood-red circular mark forming on the wall above the bed"
          }
        ],
        "flow_summary": "카메라는 현관에서 거실의 이상한 흔적들을 지나 방 안으로 깊숙이 들어가며, 바닥의 피가 이끄는 방향을 따라 창가의 민숙 시신을 드러낸다. 이후 수리영의 충격적인 반응으로 축을 옮긴 뒤, 그녀의 시선과 공포를 따라 침대 위 벽의 붉은 원 표식으로 상승해 멈춘다.",
        "scene_index": 12,
        "shot_assignments": [
          {
            "deviation_note": "Hold slightly longer after the curtain opens so the seated posture and bowed head read clearly against the window.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 3
          },
          {
            "deviation_note": "Use a tighter framing than the stage default, isolating only the widened eyes and open mouth while keeping the camera locked.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 13,
            "stage_index": 4
          },
          {
            "deviation_note": "Settle into a perfectly frontal composition after the upward tilt, making the red circular mark centered and unmistakable.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 21,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "At the lower end of the rooftop stair alley, chest height, several meters from the stair landing, angled slightly upward toward the dark stairwell and the narrow path below",
            "stage_index": 1,
            "stage_label": "panic_descent",
            "transition_to_next": "The camera pans and tracks right with Su-riyoung as she reaches the alley, then opens its angle toward the street where Hyesu arrives.",
            "visual_focus": "Su-riyoung bursting down from the rooftop stairs and stopping in the alley"
          },
          {
            "camera_motion": "track",
            "camera_position": "Street-side of the alley near the parked police car, shoulder height, moving diagonally toward the frozen Su-riyoung from Hyesu's direction",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera keeps moving with Hyesu's run and closes the distance until she reaches Su-riyoung, compressing into a tighter two-person frame.",
            "visual_focus": "Hyesu noticing Su-riyoung and rushing toward her"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Very close in front of Su-riyoung and Hyesu at upper-body height, slightly off to Hyesu's side, within arm's length of both characters",
            "stage_index": 3,
            "stage_label": "contact",
            "transition_to_next": "The camera settles from the running motion, then lowers and pushes closer along Su-riyoung's eyeline for her answer.",
            "visual_focus": "Hyesu gripping Su-riyoung by both shoulders and demanding an explanation"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low close position just beside Hyesu's shoulder, below Hyesu's eye level and close to Su-riyoung's face, looking slightly upward with Su-riyoung's gaze",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "At the end of Su-riyoung's line, the camera cuts across the eyeline to Hyesu's face for the impact of the answer.",
            "visual_focus": "Su-riyoung's tearful face as she looks up at Hyesu"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight close-up position at Hyesu's eye level, directly opposite her face from Su-riyoung's side of the exchange",
            "stage_index": 5,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Hyesu's shocked, frozen expression after hearing Su-riyoung's words"
          }
        ],
        "flow_summary": "카메라는 옥탑방 계단 아래에서 수리영의 공포를 따라 내려오고, 경찰차 쪽에서 달려오는 혜수의 동선과 합류해 두 인물의 접촉 지점으로 압축된다. 이후 수리영의 낮은 시선에서 고백을 포착한 뒤, 혜수의 얼굴로 시선을 건너가 충격의 반응에 멈춘다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "Frame as an upper-body two-shot with Hyesu's hands visibly locking onto Su-riyoung's shoulders; keep the handheld urgency but reduce shake as the contact lands.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten from the shared contact frame into Su-riyoung's face; maintain a slightly low angle so her upward look toward Hyesu remains clear.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          },
          {
            "deviation_note": "Use a hard eyeline cut from Su-riyoung to Hyesu; hold the close-up still so her widened eyes and frozen expression register without movement.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "At eye level in the narrow entry area, about 8 feet from the room doorway, slightly behind and to the side of the group",
            "stage_index": 1,
            "stage_label": "entry_discovery",
            "transition_to_next": "The camera pivots with Suriyoung's sudden turn and follows her movement through the doorway into her room.",
            "visual_focus": "the group realizing the apartment shows no obvious evidence"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just inside Suriyoung's room doorway at eye level, starting wide and moving slowly toward the bed and window wall",
            "stage_index": 2,
            "stage_label": "room_reveal",
            "transition_to_next": "The camera continues forward, then arcs toward the window side to find Suriyoung's reaction in the same room space.",
            "visual_focus": "the unnaturally clean and empty room, including the bed, wall, curtain area, and vanished traces"
          },
          {
            "camera_motion": "track",
            "camera_position": "Near the window side of the room at face height, about 2 feet from Suriyoung, angled three-quarters toward her face with the empty window area behind her eyeline",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera releases from the close reaction and backs with Suriyoung as she rushes out toward the dining table.",
            "visual_focus": "Suriyoung's pale face as she stares toward the empty place where the body should have been"
          },
          {
            "camera_motion": "track",
            "camera_position": "In the main room beside the dining table at chest height, moving laterally between Suriyoung, the clean tabletop, and the detective's reaction",
            "stage_index": 4,
            "stage_label": "table_escalation",
            "transition_to_next": "After the detective exits, the camera slides closer to Hyesu and Suriyoung, tightening the emotional space without leaving the main room.",
            "visual_focus": "the spotless dining table and the rising conflict around Suriyoung's claim"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close to Suriyoung and Hyesu in the main room at face height, positioned over Suriyoung's shoulder toward Hyesu from about 18 inches away",
            "stage_index": 5,
            "stage_label": "comfort_reaction",
            "transition_to_next": "",
            "visual_focus": "Hyesu's gentle face as she tries to reassure Suriyoung"
          }
        ],
        "flow_summary": "카메라는 현관 쪽의 허탈한 확인에서 시작해 수리영을 따라 방 안으로 밀고 들어가, 사라진 흔적과 수리영의 얼굴을 같은 동선 안에서 포착한다. 이후 식탁 쪽으로 후퇴하며 혼란을 따라가다가, 김형사가 빠진 뒤 혜수의 위로에 가까이 붙어 감정적으로 마무리된다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "Hold the movement at its widest point so the room feels vacant and overly ordered, with no blood or body visible.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten from the tracking arc into a close-up, keeping her eyeline aimed toward the vanished body space near the window.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 3
          },
          {
            "deviation_note": "Compress into a warmer close-up on Hyesu's face, allowing only a soft over-shoulder presence of Suriyoung if needed.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low eye-level on the seaside edge of the bus stop, about 4 meters from the bench, facing inland across Su-riyeong toward the dim road and bench area",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera glides closer along the bench line, lowering slightly until Su-riyeong's face and Hyesu's approaching hand dominate the frame.",
            "visual_focus": "Su-riyeong sitting in a dazed state against the dark sea and bus stop bench"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight side position at Su-riyeong's seated eye level, less than 1 meter from her face, angled so Hyesu's hand can enter from the foreground",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As Su-riyeong decides to move, the camera eases back a fraction and tilts upward with her rising body.",
            "visual_focus": "Hyesu's hand offering a cold canned drink in front of Su-riyeong's face"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Close beside the bench at chest height, about 1.5 meters from Su-riyeong, looking slightly upward as she springs to her feet",
            "stage_index": 3,
            "stage_label": "rise",
            "transition_to_next": "The camera lets Su-riyeong pass upward through frame, then tilts and pans down toward Hyesu seated below her eyeline.",
            "visual_focus": "Su-riyeong abruptly standing upright from the bench"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Low seated-height position near the bench, about 1 meter from Hyesu, looking up from Su-riyeong's standing position toward Hyesu's face",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "After Hyesu's startled reaction, the camera cuts away to a distant hidden vantage point behind the roadside grass, marking a deliberate observational jump.",
            "visual_focus": "Hyesu looking up in surprise at Su-riyeong"
          },
          {
            "camera_motion": "static",
            "camera_position": "Distant concealed position behind roadside grass, long-lens height just above the grass line, far across the coastal road from the bus stop",
            "stage_index": 5,
            "stage_label": "watcher_reveal",
            "transition_to_next": "",
            "visual_focus": "Hyesu calling out while Su-riyeong runs away down the dark coastal road"
          }
        ],
        "flow_summary": "카메라는 밤바다 앞 정류장 벤치에서 수리영에게 천천히 접근해 음료수와 얼굴의 근접한 순간을 포착한 뒤, 수리영이 벌떡 일어나는 움직임을 따라 위로 올라간다. 이어 혜수의 놀란 반응으로 낮게 돌아서고, 마지막에는 멀리 떨어진 풀숲 뒤 관찰자 시점으로 컷되어 두 사람을 지켜보는 듯한 거리감을 만든다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter than the stage default so the canned drink and Hyesu's hand fill the foreground while Su-riyeong's face remains immediately behind it.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "The tilt finishes with Su-riyeong held in a more vertical, rigid composition to emphasize her sudden decision.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Camera stays slightly lower than Hyesu's eye line, making her look up toward the newly standing Su-riyeong.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At the office entrance, chest height, about 8 feet from Hyesu, moving forward into the fluorescent-lit office aisle",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks forward with Hyesu as she enters, keeping her phone-side profile in frame and guiding the move toward the duty desk.",
            "visual_focus": "Hyesu calling Minsuk with growing unease"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside the duty desk at standing chest height, slightly over Hyesu's shoulder and angled down toward seated Detective Kim",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "As Hyesu steps closer, the camera slides inward along her arm line toward the phone she is about to present.",
            "visual_focus": "The tense exchange between standing Hyesu and seated Detective Kim"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just in front of Detective Kim's face at desk height, within arm's length of Hyesu's extended hand",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "After the phone is thrust into the frame, the camera eases slightly past the phone toward Detective Kim's reaction, maintaining the same desk-side axis.",
            "visual_focus": "The phone screen showing the saved number, held abruptly close to Detective Kim"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Tight desk-side position at Detective Kim's eye level, close enough to catch his recoil from the phone",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "The camera pans away from Detective Kim and follows the line of the phone back across the desk toward Hyesu.",
            "visual_focus": "Detective Kim's reluctant, annoyed reaction"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Across the duty desk, slightly below Hyesu's eye line, about 2 feet from her face for a frontal close-up",
            "stage_index": 5,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu's firm, cold, determined stare as her bad feeling hardens into certainty"
          }
        ],
        "flow_summary": "카메라는 사무실 입구에서 혜수를 따라 당직 책상으로 들어간 뒤, 그녀가 내미는 휴대전화의 움직임을 축으로 김형사 쪽까지 밀착한다. 이후 김형사의 반응을 거쳐 다시 혜수의 얼굴로 돌아와 불길한 확신이 굳어지는 순간에 멈춘다.",
        "scene_index": 16,
        "shot_assignments": [
          {
            "deviation_note": "The framing becomes an extreme close-up insert, letting the phone screen dominate the foreground while Detective Kim's face remains only implied by proximity.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "The push-in settles into a held close-up, minimizing background detail so Hyesu's sealed lips and unwavering gaze carry the beat.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At rooftop level, about 10 feet from the old parapet wall, lens held low at the cat's shoulder height, viewing the wall in side profile against the bluish dawn sky",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow lateral track along the parapet, keeping the cat in frame as the lit rooftop-room window enters the edge of the composition.",
            "visual_focus": "the black cat standing on the old rooftop wall with the dim dawn sky behind it"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low and close beside the parapet, about 4 feet from the black cat, slightly behind its shoulder line and angled toward the small illuminated window across the rooftop",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera holds the cat's line of sight for a beat, then eases past its profile toward the wall edge as the cat prepares to move out of frame.",
            "visual_focus": "the black cat's still head turn and fixed gaze toward the lit small window"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Still at rooftop-wall height near the parapet corner, close to the cat's departure path and oriented toward the top of the wall",
            "stage_index": 3,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "the emptying wall line after the black cat crosses over it"
          }
        ],
        "flow_summary": "카메라는 새벽빛 속 낡은 담장 위의 고양이를 낮은 높이에서 따라가며, 불 켜진 옥탑방 창문을 바라보는 정지 순간으로 천천히 수렴한다. 이후 고양이가 담을 넘는 방향으로 시선을 넘겨주며 장면을 빠져나간다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame almost motionless within the tracking stage so the cat's fixed gaze and the lit window become the dominant axis of the shot.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low bedside position inside the main bedroom, at mattress height and within arm's length of Suri-young, pushing from a loose upper-body distance into a tight frontal close-up",
            "stage_index": 1,
            "stage_label": "awakening",
            "transition_to_next": "As Suri-young rises and searches for any sign of her mother, the camera releases from the bedside and cuts to a position near her room door to continue the movement into the next space.",
            "visual_focus": "Suri-young's startled face as she wakes and listens into the quiet apartment"
          },
          {
            "camera_motion": "track",
            "camera_position": "Shoulder-height follow position just behind and slightly to the side of Suri-young, moving from her closed room door toward the window, then drifting with her back toward the phone and the living area",
            "stage_index": 2,
            "stage_label": "search_and_confirmation",
            "transition_to_next": "After the phone call and the decision to leave, a hard cut relocates the camera into the bathroom, preserving her forward momentum as she reaches the sink.",
            "visual_focus": "Suri-young cautiously checking the overly clean room, the empty window area, and then reacting to the ringing phone"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight, eye-level position over the bathroom sink, lens aimed directly into the mirror so the reflected rear wall fills the background behind Suri-young's reflection",
            "stage_index": 3,
            "stage_label": "mirror_omen",
            "transition_to_next": "The camera stays locked as her gaze snaps from the mirror to the real wall, then cuts on her movement out of the bathroom toward the living room.",
            "visual_focus": "The mirror reflection of the bathroom rear wall where the blood-red circular mark appears"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Shoulder-height position in the living room, moving with Suri-young from the bathroom doorway to the dining table and settling beside the tabletop",
            "stage_index": 4,
            "stage_label": "flight_to_table",
            "transition_to_next": "As her attention drops to the framed photograph on the table, the camera tilts and pushes down into an extreme surface-level close-up of the picture.",
            "visual_focus": "Suri-young trying to steady herself with water before noticing the framed family photograph"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very low tabletop position inches from the framed photograph, lens nearly parallel to the glass surface and centered on the mother's face in the picture",
            "stage_index": 5,
            "stage_label": "photo_hallucination",
            "transition_to_next": "",
            "visual_focus": "The mother's smiling face in the photograph as it appears to deform and melt"
          }
        ],
        "flow_summary": "카메라는 안방 침대 곁의 불안한 각성에서 출발해 수리영의 동선을 따라 방, 욕실, 거실 식탁으로 이동한다. 공포가 커질수록 시선은 인물의 얼굴에서 거울 속 징후, 마지막에는 사진 표면의 환시로 점점 더 좁고 밀착된다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "The push-in completes at an especially tight facial close-up, isolating her widened eyes and cutting out most of the bedroom context.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "The framing excludes most of Suri-young and concentrates on the mirror image of the rear wall, making the red circular mark the dominant point of focus.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 3
          },
          {
            "deviation_note": "The camera moves even closer than the stage base position, turning the framed photograph into an oppressive texture shot of the mother's distorted, half-melted face.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 18,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the quiet mart near the entrance, chest height, several meters from the doorway, moving parallel to the front aisle",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks with Suriyoung from the entrance into the aisles, narrowing the distance as she searches the store.",
            "visual_focus": "Suriyoung entering the mart and scanning the quiet interior"
          },
          {
            "camera_motion": "track",
            "camera_position": "Between bright product shelves at chest-to-eye level, about two meters from Suriyoung, aligned along the aisle corridor",
            "stage_index": 2,
            "stage_label": "search",
            "transition_to_next": "As Suriyoung spots the male employee, the camera continues along the aisle and settles into their shared conversation space.",
            "visual_focus": "Suriyoung moving through the shelves and locating the male employee"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "In the aisle beside the male employee, eye level, starting at a medium distance and pushing closer toward Suriyoung’s face from a slight frontal angle",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The interior exchange ends on Suriyoung’s reaction, then the camera makes a hard cut to the exterior wall where the CCTV position can be checked.",
            "visual_focus": "Suriyoung absorbing the male employee’s answer about a man and possible CCTV footage"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Outside the mart at the building corner, slightly below the exterior wall-mounted CCTV, angled upward from close range",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "After identifying the CCTV angle, the camera tilts and reorients away from the wall toward Suriyoung as she starts a phone call outside.",
            "visual_focus": "The exterior CCTV camera and the area it may have captured"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the mart, eye level, directly in front of Suriyoung at close medium distance, with the building exterior behind or beside her",
            "stage_index": 5,
            "stage_label": "reaction_call",
            "transition_to_next": "",
            "visual_focus": "Suriyoung on the phone, serious and focused as she explains the situation"
          }
        ],
        "flow_summary": "카메라는 한산한 마트 입구에서 수리영을 따라 진열대 사이로 이동해 남자 직원과의 대화 지점까지 접근하고, 대답을 듣는 수리영의 얼굴로 밀착한다. 이후 외부 CCTV 확인 지점으로 컷 전환한 뒤, 마트 밖에서 전화를 거는 수리영의 정면에 정지한다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the push-in into a full close-up, holding on Suriyoung’s widened eyes rather than maintaining the shared conversation frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Frame Suriyoung more frontally and slightly tighter than the stage default, emphasizing the phone pressed to her ear and her serious expression.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the rear corner of the dim office, chest height, several feet behind the seated security employee and Hyesu, looking past their backs toward the monitor and the standing Suri-young beyond the desk",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward creep over the desk line, tightening the view toward the monitor glow and the people gathered around it.",
            "visual_focus": "Suri-young watching the monitor over the backs of Hyesu and the security employee, with the monitor light shaping their faces"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just behind the seated pair at desk height, closer to the monitor, with shoulders and the screen edge filling the foreground",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Continuing the move, the camera slides laterally around the desk from behind the seated pair toward Suri-young's side, shifting attention away from the screen.",
            "visual_focus": "The dark CCTV playback on the monitor and the security employee's uncertain review of the footage"
          },
          {
            "camera_motion": "track",
            "camera_position": "Along the side of the desk at eye level, halfway between the monitor and Suri-young, angled back across the desk toward the group",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "The lateral track completes its arc past Suri-young and settles beside Hyesu, preparing for her turn toward the security employee.",
            "visual_focus": "Suri-young's anxious reaction as the unusable footage heightens the tension"
          },
          {
            "camera_motion": "static",
            "camera_position": "Close beside Hyesu at eye level, slightly forward of her shoulder, framing her side profile as she turns toward the security employee across the desk",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu's firm side profile and her decisive look toward the security employee"
          }
        ],
        "flow_summary": "카메라는 어두운 총무과 뒤편에서 모니터를 둘러싼 세 사람을 한 프레임에 잡고, 화면 쪽으로 천천히 접근한 뒤 책상 옆을 돌아 수리영의 불안을 지나 혜수의 결심 어린 측면 얼굴에 정착한다. 전체 이동은 CCTV 확인의 막막함에서 혜수의 판단으로 시선의 중심이 옮겨가는 흐름이다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "Keep the frame wide enough to hold the backs of Hyesu and the security employee in the foreground while Suri-young remains visible beyond them in the monitor glow.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten slightly from the stage default so Hyesu's side face dominates, while the security employee remains the direction of her gaze rather than the main subject.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level near the police office entrance, about 18 feet from the main desks, looking down the busy aisle toward Hyesu, Suyoung, and the detective's desk.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks forward with Hyesu and Suyoung as they enter the office and are drawn toward the detective's workstation.",
            "visual_focus": "the crowded police office and the group forming around the detective's desk"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Beside the detective's desk at shoulder height, about 6 feet from Hyesu and the detective, angled across the desk surface toward the paperwork exchange.",
            "stage_index": 2,
            "stage_label": "paperwork_pressure",
            "transition_to_next": "As the detectives are called away, the camera pans off the paperwork and lets the movement carry toward Hyesu's desk where Suyoung is left alone.",
            "visual_focus": "the detective pressing documents toward Hyesu and Suyoung"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "In front of Hyesu's desk at seated eye level, about 7 feet from Suyoung, facing her across the empty workspace after everyone has left.",
            "stage_index": 3,
            "stage_label": "isolation",
            "transition_to_next": "The camera slowly pushes closer, then dips its attention from Suyoung's stillness down to the cluttered desktop.",
            "visual_focus": "Suyoung sitting alone at the desk, surrounded by the sudden quiet of the office"
          },
          {
            "camera_motion": "track",
            "camera_position": "Very low over the desktop, 8 to 12 inches above the surface and within 2 feet of the scattered case photographs, moving laterally across the spread.",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "The camera completes the pass over the photographs, then tilts and rises from the tabletop toward Suyoung's face.",
            "visual_focus": "the disturbing murder-scene photographs scattered across the desk"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight at Suyoung's seated eye level, about 2 feet from her face, slightly off to one side so the desk remains implied below frame.",
            "stage_index": 5,
            "stage_label": "reaction",
            "transition_to_next": "At the computer alert, the camera breaks from her face and tracks across the office toward the detective's monitor.",
            "visual_focus": "Suyoung's pale, shocked face as she processes what she has seen"
          },
          {
            "camera_motion": "static",
            "camera_position": "Directly in front of the detective's computer monitor at screen height, about 18 inches away, squared to the display.",
            "stage_index": 6,
            "stage_label": "reveal",
            "transition_to_next": "After holding on the monitor, the camera pulls back and pivots down toward the desk as Suyoung moves to copy the coordinates.",
            "visual_focus": "the sea map on the monitor with a red coordinate marker and phone location data"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low beside the desks at hand height, then rising slightly as it follows Suyoung's movement toward the office exit from behind and to the side.",
            "stage_index": 7,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suyoung taking the coordinates, hiding the note, and leaving the police office"
          }
        ],
        "flow_summary": "카메라는 붐비는 경찰서 입구에서 인물들을 따라 사무실 안쪽으로 들어간 뒤, 모두가 빠져나간 책상 앞의 수리영에게 점점 고립되듯 밀착한다. 이후 책상 위 사진에서 수리영의 얼굴, 그리고 김형사의 모니터로 시선을 연속적으로 옮기며 충격의 발견이 행동으로 이어지는 흐름을 만든다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "Use an even tighter tabletop close-up so the photographs fill the frame; Suyoung is excluded to make the image feel like an unavoidable discovery.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          },
          {
            "deviation_note": "Hold slightly longer than the stage default, with minimal movement, emphasizing the drained expression after the camera rises from the photographs.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 5
          },
          {
            "deviation_note": "Frame the monitor almost full-screen so the red coordinate marker and sea map information are the dominant visual elements.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low curbside position beside the parked bicycle, about 1 foot above the ground and very close to the pedal area in front of the police station",
            "stage_index": 1,
            "stage_label": "ignition_detail",
            "transition_to_next": "The camera begins to rise and slide forward along the bicycle's side as the first push on the pedal transfers into forward motion.",
            "visual_focus": "the forceful first pedal stroke and the bicycle beginning to move"
          },
          {
            "camera_motion": "track",
            "camera_position": "Side-tracking position parallel to the bicycle, at seated torso height, about 4 feet from 수리영, moving alongside her as she starts riding away from the police station",
            "stage_index": 2,
            "stage_label": "side_approach",
            "transition_to_next": "The camera keeps pace for a beat, then gradually lets the bicycle move ahead to open the space in front of her path.",
            "visual_focus": "수리영 seated on the saddle, one knee driving the pedal down, hair blown back against the direction of motion, eyes fixed sharply ahead"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Slightly wider side-rear position at street level, several feet behind and to the side of the moving bicycle as it gains speed away from the entrance",
            "stage_index": 3,
            "stage_label": "release_forward",
            "transition_to_next": "",
            "visual_focus": "수리영 accelerating away from the police station on the bicycle"
          }
        ],
        "flow_summary": "카메라는 경찰서 앞 자전거의 낮은 페달 위치에서 출발해, 수리영이 힘 있게 출발하는 순간을 따라 측면으로 올라붙는다. 이후 그녀와 나란히 이동하다가 조금씩 뒤로 빠지며 자전거가 앞으로 치고 나가는 흐름을 만든다.",
        "scene_index": 22,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame tight enough on her side profile to emphasize the bent knee, downward pedal force, wind-swept hair, and fierce forward gaze while still preserving the lateral tracking motion.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Seated eye-level at the computer station, very close to the monitor edge, about 2 feet from Suriyoung, angled three-quarters toward her upper body and the glowing screen",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera begins a slow lateral track along the desk line, leaving Suriyoung's face and monitor glow to follow the action toward the printer area.",
            "visual_focus": "Suriyoung leaning close to the illuminated map screen under the dim PC room light"
          },
          {
            "camera_motion": "track",
            "camera_position": "Desk height beside the workstation, sliding toward the nearby printer, close enough to frame the paper exit slot and the emerging printed map",
            "stage_index": 2,
            "stage_label": "process_detail",
            "transition_to_next": "Continuing the same movement, the camera drops slightly and tracks back toward Suriyoung's hands near the open backpack.",
            "visual_focus": "the printed coastal map coming out of the printer"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low desk-side height near Suriyoung's lap and the backpack opening, within arm's reach, angled downward toward her hands",
            "stage_index": 3,
            "stage_label": "completion_detail",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's hands folding the printed map and pushing it into the backpack"
          }
        ],
        "flow_summary": "카메라는 어두운 PC방 자리에서 모니터 불빛에 바짝 붙은 수리영의 상반신을 먼저 붙잡고, 같은 책상 동선을 따라 프린터와 백팩 쪽으로 흘러간다. 지도 확인에서 출력, 수납으로 이어지는 행동의 흐름을 끊지 않고 낮은 거리감으로 따라간다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "Hold slightly tighter on Suriyoung's upper body and the lit map screen, keeping the surrounding PC room mostly in darkness.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Very high and far offshore-facing vantage, wide lens, above the dark coastal road with the horizon and storm clouds filling most of the frame",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "After the lightning flash, the camera begins to tilt down and descend toward the road, using the illuminated coastline as the visual bridge.",
            "visual_focus": "the storm-dark coastal road beneath heavy rain clouds and a massive lightning strike"
          },
          {
            "camera_motion": "crane",
            "camera_position": "High roadside position lowering from above the coastline to several meters over the wet asphalt, angled down the length of the road",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The descent resolves into forward movement along the road, matching the direction of travel as the cyclist enters the camera's path.",
            "visual_focus": "the rain-lashed road surface, sheets of water, and the incoming movement along the coast"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low three-quarter front position just ahead and beside the bicycle path, about chest height to the rider, moving backward along the road",
            "stage_index": 3,
            "stage_label": "pursuit",
            "transition_to_next": "The camera drops lower while maintaining the same forward momentum, shifting attention from the rider's upper body toward the front wheel.",
            "visual_focus": "Suriyoung forcing the bicycle forward through rain and wind"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very low near the road surface beside the bicycle front wheel, close enough for spray to cross the lens plane",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "the bicycle front wheel cutting into rainwater and throwing up violent spray"
          }
        ],
        "flow_summary": "카메라는 먼저 번개가 터지는 해안가 도로를 높은 원경에서 붙잡고, 그 빛을 따라 빗속 도로로 내려온다. 이후 도로의 진행 방향으로 합류해 수리영의 주행을 추적하다가 바퀴와 물보라의 낮은 클로즈 관찰로 이어지는 흐름이다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wide enough for the lightning, storm clouds, coastline, and road to read as one threatening landscape before any descent begins.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low wide position inside the rooftop room living area, about 10 feet from the entrance, lens at waist height and facing across the scattered household items toward the doorway.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera completes the push toward Suri-young, then continues along her line of sight toward the open bedroom door without changing the room axis.",
            "visual_focus": "Suri-young frozen at the living room entrance amid the overturned chairs and disturbed floor."
          },
          {
            "camera_motion": "track",
            "camera_position": "Shoulder-height position just behind and slightly to the side of Suri-young, about 6 feet from the open bedroom door, looking through the doorway gap into the room.",
            "stage_index": 2,
            "stage_label": "approach_reveal",
            "transition_to_next": "The camera slips forward through the doorway, narrowing the distance to the marked wall as Suri-young approaches it.",
            "visual_focus": "The large rough red circle painted in blood on the center of the bedroom wall."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the bedroom, eye-level and about 3 feet from the wall, centered on the red circle and the object fixed at its middle.",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "As Suri-young removes the photo from the wall, the camera follows the motion off the wall and closes toward her face.",
            "visual_focus": "The blood-marked photo pinned at the center of the red circle."
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Intimate face-level close position, about 12 inches from Suri-young, slightly below her eyeline while the photo is held just beneath the lens.",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "The camera loosens and drifts back with her disorientation, allowing her body to drop out of the tight frame toward the bed area.",
            "visual_focus": "Suri-young's trembling eyes as she studies the photo."
          },
          {
            "camera_motion": "track",
            "camera_position": "Medium distance inside the bedroom near the bed side, chest height, angled toward the route back out through the living room and entrance.",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suri-young recovering enough to move out while gripping the photo."
          }
        ],
        "flow_summary": "카메라는 난장판이 된 거실 안쪽에서 수리영의 얼어붙은 전신을 향해 밀고 들어간 뒤, 그녀의 시선을 따라 열린 방문과 붉은 원 표식으로 이동한다. 이후 벽의 사진에서 수리영의 눈빛으로 가까이 붙었다가, 충격을 받은 그녀가 방을 빠져나갈 수 있도록 뒤로 물러나는 흐름이다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wide enough to include her full body and the ruined living room around her at the end of the push-in.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "Frame through the open doorway so the door edge partially masks the wall, emphasizing that the sign is discovered from Suri-young's point of view.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten from the general face-level reaction into an eye-dominant close-up, letting the handheld instability register her shock.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide low eye-level position near the outer rocks at the end of the empty harbor, about 12 meters from Suriyoung, looking across the wet quay toward the fog-covered sea",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The lens pans slowly from Suriyoung's isolated silhouette toward the open water as a shape begins to form inside the fog.",
            "visual_focus": "Suriyoung as a small figure against the empty harbor and the dense fog over the sea"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Centered on the pier axis at waterline height, facing straight into the fog about 20 meters from the approaching boat",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "As the boat nears the mooring point, the camera retreats and then tracks sideways along the pier edge to follow Suriyoung moving toward it.",
            "visual_focus": "the bow of an old fishing boat emerging head-on through the fog"
          },
          {
            "camera_motion": "track",
            "camera_position": "Shoulder-height lateral position along the quay, 3 to 5 meters from Suriyoung, moving parallel to her as she approaches the moored boat",
            "stage_index": 3,
            "stage_label": "approach",
            "transition_to_next": "The camera settles lower beside Suriyoung at the harbor floor, angling upward toward the deck to connect her plea with Inwoo above her.",
            "visual_focus": "Suriyoung crossing the harbor floor toward Inwoo on the boat"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low side position on the harbor floor beside Suriyoung, chest-level to her but looking slightly upward toward the boat deck, about 1.5 meters from her",
            "stage_index": 4,
            "stage_label": "plea",
            "transition_to_next": "After Inwoo agrees, the camera cuts to a tighter seaward-facing position, placing Suriyoung against the darkening water for her message.",
            "visual_focus": "Suriyoung looking up at Inwoo with urgency while the boat looms above her"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight eye-level position in front of Suriyoung near the edge of the pier, less than 1 meter away, with the dark sea behind her",
            "stage_index": 5,
            "stage_label": "farewell_close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's resolved face as she speaks into the phone before leaving"
          }
        ],
        "flow_summary": "카메라는 갯바위의 고립된 수리영에서 안개 낀 바다로 시선을 옮기고, 안개를 뚫고 들어오는 배를 따라 포구 가장자리로 이동한다. 이후 수리영의 간절한 올려다봄에서 출항 직전의 결연한 전화 메시지 클로즈업으로 점점 좁혀 들어간다.",
        "scene_index": 26,
        "shot_assignments": [
          {
            "deviation_note": "Hold the boat in a symmetrical head-on composition as its bow first breaks the fog curtain.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Frame as a side upper-body view of Suriyoung, keeping Inwoo implied above her eyeline rather than fully centered.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          },
          {
            "deviation_note": "Tighten to an intimate facial close-up with the phone near her lips and the darkened sea softened behind her.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At chest height in the middle of the cramped rooftop room, about 6 feet in front of Hyesu, facing her across the living space.",
            "stage_index": 1,
            "stage_label": "establishing_tension",
            "transition_to_next": "The camera begins a slight push and prepares to pivot as Hyesu reacts to the recorded message and shifts her attention toward Detective Kim.",
            "visual_focus": "Hyesu listening to the phone speaker with a rigid expression"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At chest height, about 3 feet from Hyesu's front-left side, close enough for an upper-body frame while keeping Detective Kim's direction just off her eyeline.",
            "stage_index": 2,
            "stage_label": "reaction_turn",
            "transition_to_next": "Following Hyesu's sharp look, the camera continues the pan and tracks along her eyeline across the room toward Detective Kim.",
            "visual_focus": "Hyesu snapping her head toward Detective Kim in alarm"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye level on Hyesu's side of the room, about 4 feet from Detective Kim, angled slightly upward to catch his dismissive expression.",
            "stage_index": 3,
            "stage_label": "counter_reaction",
            "transition_to_next": "As the door rattles, the camera leaves Detective Kim's face and pans toward the entrance, letting the sound pull the frame away from the argument.",
            "visual_focus": "Detective Kim staring back with an arrogant, unimpressed expression"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At eye level near the interior side of the rooftop room, oriented toward the entrance door from several feet away.",
            "stage_index": 4,
            "stage_label": "environmental_reveal",
            "transition_to_next": "",
            "visual_focus": "the half-open rusty metal entrance door rattling in the wind"
          }
        ],
        "flow_summary": "카메라는 혜수가 메시지를 듣는 방 한가운데의 긴장감에서 출발해, 혜수의 급격한 시선 전환을 따라 김형사 쪽으로 이어진다. 이후 김형사의 오만한 반응을 포착한 뒤, 바람에 흔들리는 현관문 소리 쪽으로 시선을 넘기며 황량함을 확장한다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the frame to Hyesu's upper body and time the pan to her sudden head turn toward Detective Kim.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the track at its endpoint long enough to emphasize Detective Kim's crossed-arm posture and condescending mouth before the camera moves away.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide on the open deck from near the bow rail, eye level, several meters from the seated figures, with the dark sea and sunset horizon behind them",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a low dolly forward across the deck toward the exchanged papers and hands, narrowing the space between the two characters.",
            "visual_focus": "the small fishing boat deck, Suriyeong offering the map, and Inwoo seated opposite her"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low and close between the two characters at hand height, about half a meter from Suriyeong's hands, angled slightly upward from the deck boards",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Continuing the push, the camera rises and slides to Suriyeong's side as the photograph is brought toward Inwoo's face.",
            "visual_focus": "Suriyeong's tense hand holding the old blood-stained black-and-white photograph"
          },
          {
            "camera_motion": "track",
            "camera_position": "Tight side position beside Suriyeong's shoulder line, chest height, less than one meter from Inwoo, aligned so the photograph dominates the space between them",
            "stage_index": 3,
            "stage_label": "confrontation",
            "transition_to_next": "As Inwoo reacts and starts to break away, the camera lets the photograph pass out of foreground and swings with his sudden movement toward the wheelhouse.",
            "visual_focus": "Suriyeong pressing the photograph close to Inwoo's face and watching his shaken reaction"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Unsteady deck-level pursuit position just behind and slightly to the side of Inwoo, waist height, moving from the seating area toward the wheelhouse entrance",
            "stage_index": 4,
            "stage_label": "eruption",
            "transition_to_next": "The camera accelerates past the line of Inwoo's movement and pivots toward the wheelhouse doorway, catching Suriyeong entering the frame as she follows to stop him.",
            "visual_focus": "Inwoo abruptly rising and rushing toward the wheelhouse"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "At the wheelhouse threshold, shoulder height, close to the doorway and angled back toward the deck so Suriyeong's forward reach cuts across the frame",
            "stage_index": 5,
            "stage_label": "block",
            "transition_to_next": "",
            "visual_focus": "Suriyeong lunging toward the wheelhouse with both arms extended to stop Inwoo"
          }
        ],
        "flow_summary": "카메라는 갑판의 넓은 거리에서 시작해 손과 사진으로 점점 압축되어 들어가고, 사진을 둘러싼 대치가 폭발하는 순간 인우의 움직임을 따라 조타실 쪽으로 급격히 흔들리며 이동한다. 마지막에는 조타실 문턱에서 수리영의 저지 동작을 붙잡아, 심리적 압박이 물리적 충돌로 전환되는 흐름을 하나의 경로로 잇는다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "Hold tighter than the stage default so the blood-stained photograph and Suriyeong's gripping fingers fill the frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Favor Suriyeong's side profile and upper body while keeping the photograph pushed into the near space in front of Inwoo's face.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Catch the peak of the lunge as a suspended instant, with Suriyeong's outstretched arms leading toward the wheelhouse.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low and close beside the old helm, at hand height, slightly behind Inwoo and facing into the cramped wheelhouse toward the wheel and the two bodies pressed near it",
            "stage_index": 1,
            "stage_label": "tension_at_helm",
            "transition_to_next": "The camera begins sliding along the console toward Suri-young, rising from hand height to face height without breaking the spatial line.",
            "visual_focus": "Inwoo's grip on the helm and Suri-young closing in on him"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Tight at Suri-young's face height, less than two feet away, just off Inwoo's shoulder line inside the narrow wheelhouse",
            "stage_index": 2,
            "stage_label": "confrontation_close",
            "transition_to_next": "The camera pivots away from Suri-young toward the photo and then drifts back toward Inwoo's face as the conversation turns from anger to the missing mother.",
            "visual_focus": "Suri-young's furious, strained face as she demands to be taken there"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At console height between Suri-young and Inwoo, close enough to isolate the photo before pushing toward Inwoo's face",
            "stage_index": 3,
            "stage_label": "recognition",
            "transition_to_next": "The push continues past Inwoo's frozen expression, then the lens lets his face fall to the foreground edge while the camera pans and backs away to expose the wall behind him.",
            "visual_focus": "The old photograph, Suri-young's indication of the child, and Inwoo's paling reaction"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Retreating into the rear corner of the wheelhouse at standing eye level, wide enough to take in multiple cramped walls at once",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "From the wide reveal, the camera tracks back toward the pair as Suri-young loses strength, settling beside Inwoo's shoulder for the final close view.",
            "visual_focus": "The many strange blood-red circle markings covering the wheelhouse walls"
          },
          {
            "camera_motion": "static",
            "camera_position": "Very tight beside Inwoo's shoulder at slightly below eye level, less than one foot from his face, angled upward as he looks down at Suri-young collapsed against him",
            "stage_index": 5,
            "stage_label": "cold_aftermath",
            "transition_to_next": "",
            "visual_focus": "Inwoo's cold, indifferent gaze over Suri-young's collapsed body"
          }
        ],
        "flow_summary": "카메라는 조타실의 운전대에서 시작해 수리영의 격앙된 얼굴로 밀착한 뒤, 사진과 인우의 반응을 거쳐 벽면의 붉은 원 표식들을 넓게 드러낸다. 마지막에는 다시 두 사람에게 접근해 쓰러진 수리영을 내려다보는 인우의 차가운 시선에 멈춘다.",
        "scene_index": 29,
        "shot_assignments": [
          {
            "deviation_note": "Frame even tighter than the stage default, emphasizing her open mouth, strained neck, and distorted anger while retaining the handheld instability.",
            "flow_position": "mid",
            "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": 7,
            "stage_index": 4
          },
          {
            "deviation_note": "Compress the frame into a close-up of Inwoo's eyes and upper face, leaving Suri-young's weight against his shoulder implied at the lower edge of the composition.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "A high wide position above the open sea, far from the horizon line, with the camera held level at dusk light height",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward move over the water, leaving the wide sunset horizon and aiming toward the darker band of fog.",
            "visual_focus": "the broad golden sea surface, the sunset glow, and the distant fog bank"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low over the water at bow-height distance from the fog wall, moving straight toward the dense mist",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The forward move continues until the silhouette of an old fishing boat enters the path; the camera eases behind it and matches its direction into the fog.",
            "visual_focus": "the massive dark fog curtain spreading across the sea"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind and slightly above the stern of an old fishing boat, close enough to frame the rear section while the bow disappears into the fog",
            "stage_index": 3,
            "stage_label": "absorption",
            "transition_to_next": "",
            "visual_focus": "the old fishing boat half-swallowed by the towering fog bank"
          }
        ],
        "flow_summary": "카메라는 해질 무렵의 넓은 바다에서 출발해 안개 장막을 향해 낮게 전진하고, 마지막에는 낡은 어선의 뒤를 따라가며 뱃머리가 안개 속으로 사라지는 순간에 머문다. 전체 흐름은 바다의 광활함에서 안개의 압도감, 그리고 배가 경계 너머로 들어가는 감각으로 점점 좁혀진다.",
        "scene_index": 30,
        "shot_assignments": [
          {
            "deviation_note": "The framing favors the stern and rear half of the boat, letting the bow remain partially buried in the fog curtain.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "a6d0fdd8-de34-4530-a40f-fbd08b6b500e",
  "resolved_model": "gpt",
  "updated_at": "2026-04-30T23:40:05.456771+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50"
}