{
  "status": "completed",
  "completed_count": 28,
  "applicable_count": 28,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At waist height, three to four meters to the side and slightly behind the running man, moving parallel through dense forest undergrowth at dusk",
            "stage_index": 1,
            "stage_label": "pursuit",
            "transition_to_next": "The camera drifts closer to the man's lower body while maintaining forward momentum, compressing the distance as the chase becomes more frantic.",
            "visual_focus": "the frightened man forcing his way through the bushes"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low beside the man's legs, about one meter from his injured thigh, still moving forward through the brush",
            "stage_index": 2,
            "stage_label": "injury_observation",
            "transition_to_next": "The camera rises from the injury line and arcs behind the man, rotating its gaze upward into the space over his back.",
            "visual_focus": "the bleeding bite mark on the man's thigh and his unsteady movement"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Behind the man at shoulder height, roughly two meters back, angled upward into the air above his back",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "As the black silhouette drops onto the man, the camera plunges downward with the impact in a rough handheld fall toward the forest floor.",
            "visual_focus": "the black silhouette suspended above the man's back with both arms extended"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "On the dirt ground at face height, extremely close to the man's face, just off to the side of where he is pinned down",
            "stage_index": 4,
            "stage_label": "impact_reaction",
            "transition_to_next": "",
            "visual_focus": "the man's terrified face crushed near the dirt as the black silhouette holds him down"
          }
        ],
        "flow_summary": "카메라는 도망치는 남자를 옆뒤에서 따라붙다가 상처로 낮아지고, 다시 그의 등 뒤 허공으로 시선을 들어 검은 인영의 습격을 드러낸다. 충돌 순간 카메라가 함께 바닥으로 떨어지며, 흙바닥에 짓눌린 남자의 얼굴 클로즈업으로 끝난다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "Keep the man's back as a foreground anchor while placing the black silhouette high in the air behind him, arms stretched toward him.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten into an intense close-up so the wide eyes and open mouth dominate the frame, with dirt visible at the edge of his face.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the mouth of the dark back alley, eye level, about 10 meters from the utility pole under the weak streetlight",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward move along the alley wall toward the two bodies pressed together by the pole.",
            "visual_focus": "the man and the woman locked together as indistinct full-body silhouettes beneath the streetlight"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Mid-alley, shoulder height, about 3 meters from the utility pole, angled to the couple's side",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The push-in continues tighter, sliding into the narrow space near the woman's shoulder and the man's face.",
            "visual_focus": "the man's face buried close to the woman's neck as their breathing intensifies"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Very close at shoulder height beside the utility pole, within arm's length of the woman's neck and the man's mouth",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "As the woman's strength gives out, the camera breaks from the locked close-up and drops its gaze with her downward motion.",
            "visual_focus": "the man's teeth fixed deep at the woman's neck, with the attack held in a tense close detail"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Beside the utility pole at chest height, close to the woman's falling path",
            "stage_index": 4,
            "stage_label": "collapse_follow",
            "transition_to_next": "The tilt completes at ground level, settling with the woman's body on the concrete.",
            "visual_focus": "the woman's body losing support and descending toward the cold cement floor"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low floor-level position on the cement, about 1 meter from the woman's body, looking slightly across the alley ground",
            "stage_index": 5,
            "stage_label": "aftermath",
            "transition_to_next": "",
            "visual_focus": "the woman lying face-down and motionless on the cold concrete"
          }
        ],
        "flow_summary": "카메라는 어두운 골목 입구에서 전봇대 아래 뒤엉킨 두 사람을 멀리 포착한 뒤, 숨소리를 따라 서서히 접근해 목덜미의 끔찍한 순간까지 밀착한다. 이후 여자가 무너지는 동선을 따라 시선이 바닥으로 내려가고, 차가운 시멘트 위 정지한 몸에서 움직임을 멈춘다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "Macro-tight framing holds on the bite without revealing more of the alley; the handheld movement is nearly frozen for a suspended instant.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "The frame lowers enough to emphasize the cold cement surface and the absence of movement, keeping the woman face-down as the sole point of attention.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Outside the police line at eye level, about 10 meters from the recovery area, looking over the taped perimeter toward the active crime scene",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The operator moves through a gap near the perimeter and tracks inward toward the group of detectives, tightening the angle on the person directing the scene.",
            "visual_focus": "police activity around the disturbed ground and the secured recovery area"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the perimeter at chest height, about 2 meters in front of Hyesu, slightly off to her right side, angled down enough to include her downward eyeline",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera follows Hyesu's downward look, then pans and shifts right toward the stretcher team as they lift the covered body.",
            "visual_focus": "Hyesu's tense face and her fixed gaze toward the body on the ground"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside the recovery path at waist-to-chest height, about 3 meters from the stretcher, moving parallel to the paramedics' handling position",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "paramedics holding a stretcher covered with a black cloth at waist height"
          }
        ],
        "flow_summary": "카메라는 폴리스 라인 밖의 현장 전경에서 시작해 안쪽으로 들어가 혜수의 심각한 표정을 포착한 뒤, 그녀의 시선을 따라 시신이 실린 들것 쪽으로 이동한다. 뉴스 화면처럼 약간 흔들리는 현장감은 유지하되, 혜수에서 들것으로 이어지는 시선 흐름을 중심축으로 삼는다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "Frame as an upper-body composition, keeping the corpse itself mostly below frame while preserving Hyesu's downward eyeline.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Let the camera settle briefly as the paramedics stop, emphasizing the stillness of the black-covered stretcher at waist height.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "Very high above an outskirts residential neighborhood, looking down at a cluster of old low-rise villas in bright daylight",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow descending drift toward one older villa, maintaining the overhead angle while narrowing the field of view.",
            "visual_focus": "the surrounding residential blocks and the roofline pattern of old villas"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "High overhead, slightly forward of the old villa roof, descending to a broad bird's-eye view at rooftop distance",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera eases closer and stabilizes above the rooftop room, reducing lateral drift to hold the structure as the main subject.",
            "visual_focus": "the old rooftop room on top of the villa, catching strong sunlight"
          },
          {
            "camera_motion": "static",
            "camera_position": "Locked in a high bird's-eye position above the villa rooftop, wide enough to include the rooftop room and surrounding roof edges",
            "stage_index": 3,
            "stage_label": "settled_overview",
            "transition_to_next": "",
            "visual_focus": "the weathered rooftop room isolated under bright sunlight"
          }
        ],
        "flow_summary": "카메라는 변두리 주거지 상공의 넓은 부감에서 시작해 오래된 빌라 옥상으로 천천히 내려오며 낡은 옥탑방을 중심 대상으로 고정한다. 마지막에는 햇빛을 받는 옥탑방을 높은 부감 전경으로 안정적으로 붙잡아 뉴스 보도처럼 객관적인 불안을 만든다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly wider than the final stage default so the old villa rooftop context remains visible around the sunlit rooftop room.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level near the small living-room window, about 2.5 meters from the sink, sliding laterally along the counter toward the living-room corner",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The track continues past the kitchen details and settles into a clearer angle on Minsuk and the television area.",
            "visual_focus": "the sunlit sink, the simmering pot, and the domestic stillness of the rooftop room"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At chest height in the living-room corner, about 1.8 meters from Minsuk, angled three-quarters toward her and the glowing television screen",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As Suriyeong enters, the camera eases off Minsuk and redirects toward the room's center, following the conversation toward the table.",
            "visual_focus": "Minsuk's tense upper body and fixed gaze toward the television"
          },
          {
            "camera_motion": "track",
            "camera_position": "At seated chest height beside the worn dining table, about 1.5 meters from Suriyeong and Minsuk, moving in a shallow arc between them",
            "stage_index": 3,
            "stage_label": "domestic_exchange",
            "transition_to_next": "A scripted cut jumps forward in time and space from the dining table to the entrance area as Suriyeong prepares to leave.",
            "visual_focus": "the mother and daughter sharing the bitter herbal drink and casual morning dialogue"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Just inside the entrance area at low standing height, about 1.2 meters from the shoe rack, oriented toward Suriyeong and the doorway",
            "stage_index": 4,
            "stage_label": "transition",
            "transition_to_next": "After the cut lands at the entrance, the camera rises and moves closer into the intimate space between Suriyeong and Minsuk.",
            "visual_focus": "Suriyeong getting ready to leave while Minsuk remains close by"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At shoulder height beside Minsuk, within 60 centimeters of Suriyeong's face, angled slightly over Minsuk's shoulder toward Suriyeong",
            "stage_index": 5,
            "stage_label": "intimate_reaction",
            "transition_to_next": "The camera gently tilts and slides downward from Suriyeong's calm face along Minsuk's arm to isolate the wrist.",
            "visual_focus": "Suriyeong leaning close to Minsuk's shoulder with a peaceful expression"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At close-up distance below shoulder height, about 25 centimeters from Minsuk's inner wrist, looking down at a shallow angle",
            "stage_index": 6,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "the dark small circular mark on the inside of Minsuk's wrist"
          }
        ],
        "flow_summary": "카메라는 옥탑방의 생활감 있는 부엌에서 시작해 TV를 응시하는 민숙의 불안으로 천천히 접근한 뒤, 식탁 대화를 거쳐 시간 점프 컷으로 현관 쪽에 도착한다. 이후 수리영과 민숙 사이의 가까운 거리로 파고들고, 마지막에는 수리영의 시선을 따라 민숙의 손목 표식으로 내려간다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "Frame Minsuk tighter than the stage default so the television remains implied at the edge rather than dominating the image.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the camera slightly closer to Suriyeong's face, keeping Minsuk mostly as the near shoulder and presence that motivates the intimacy.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 5
          },
          {
            "deviation_note": "Reduce the background to near abstraction and let the wrist mark become the only sharp point of attention.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "On the seaward shoulder of the coastal road, eye-level to slightly low height, 15 meters lateral distance from Suriyeong, moving parallel to the bicycle",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera vehicle gradually accelerates to match the bicycle speed and closes the lateral distance while maintaining the same direction of travel.",
            "visual_focus": "Suriyeong riding along the bright coastal road with the sea and open road atmosphere around her"
          },
          {
            "camera_motion": "track",
            "camera_position": "Parallel to Suriyeong on the open side of the road, slightly below chest height, 4 meters lateral distance, aligned with the bicycle saddle and pedals",
            "stage_index": 2,
            "stage_label": "side_observation",
            "transition_to_next": "The camera keeps pace, then glides a little closer and higher toward Suriyeong's upper body and face without breaking the forward motion.",
            "visual_focus": "Suriyeong's full side profile on the bicycle, her pedaling rhythm, wind-swept hair, and lively movement"
          },
          {
            "camera_motion": "track",
            "camera_position": "Close beside the bicycle at shoulder height, 1.5 meters from Suriyeong, angled slightly forward toward her face and ear",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's relaxed face, earphones, half-closed eyes, and bright smile as she enjoys the sea air"
          }
        ],
        "flow_summary": "카메라는 해안가 도로의 넓은 분위기에서 시작해 자전거와 나란히 속도를 맞추며 수리영의 측면 전신으로 다가간다. 이후 같은 진행 방향을 유지한 채 얼굴 가까이 흘러가며 밝고 활기찬 기분을 이어간다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wide enough for a full-body side view, with the bicycle pedal action clearly visible and the wind in Suriyeong's hair emphasized.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "In the kennel aisle, chest height, 8 feet from the barred cage, facing the rottweiler head-on through the metal bars",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera pushes forward down the aisle and lowers toward the animal's eye line, narrowing the space between the bars and Suriyeong.",
            "visual_focus": "the rottweiler thrashing behind the cage bars"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just inside the line of the kennel bars at rottweiler eye height, about 2 feet from Suriyeong's bent face, lens looking outward through the bars",
            "stage_index": 2,
            "stage_label": "confrontation",
            "transition_to_next": "As the dog calms, the camera slides laterally along the cage line and drops toward the rottweiler's rear, redirecting attention from Suriyeong's stare to the veterinarian's hands.",
            "visual_focus": "Suriyeong's unwavering stare into the rottweiler's eyes"
          },
          {
            "camera_motion": "static",
            "camera_position": "At floor level beside the subdued rottweiler's hindquarters, within arm's reach of the veterinarian, angled tightly downward toward the skin",
            "stage_index": 3,
            "stage_label": "clinical_reveal",
            "transition_to_next": "The camera pulls back from the close detail into the kennel aisle, following the practical shift from the injection to Suriyeong facing the rest of the waiting dogs.",
            "visual_focus": "the syringe needle entering the rottweiler's hindquarter while the veterinarian works quickly"
          },
          {
            "camera_motion": "track",
            "camera_position": "Mid-height in the kennel aisle, 5 feet from Suriyeong, moving parallel to the cages as she turns from the dogs toward the next task",
            "stage_index": 4,
            "stage_label": "workload_transition",
            "transition_to_next": "A clean cut jumps from the kennel aisle to the grooming work area, preserving the momentum of Suriyeong being called to work.",
            "visual_focus": "Suriyeong being pulled from the cages and phone attempt into shelter duties"
          },
          {
            "camera_motion": "static",
            "camera_position": "Over the grooming table at close range, about 1 foot above the small dog's back, angled down toward Suriyeong's working hands",
            "stage_index": 5,
            "stage_label": "grooming_close_observation",
            "transition_to_next": "",
            "visual_focus": "the electric clipper touching the small dog's back fur"
          }
        ],
        "flow_summary": "카메라는 보호원 철창 앞의 위협적인 로트와일러에서 시작해 수리영의 눈높이로 파고들고, 개가 얌전해진 순간 수의사의 주사 동작으로 낮게 이동한다. 이후 보호원 일의 흐름을 따라 통로에서 미용 공간으로 논리적 컷을 넘기며, 수리영의 손끝 작업으로 마무리된다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "철창 사이에 렌즈를 둔 듯한 정면성을 강조해 로트와일러의 시선과 수리영의 시선을 한 축으로 맞춘다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "기본 단계보다 더 타이트한 매크로에 가깝게 잡아 주사기 바늘과 피부 접촉 순간만 선명하게 남긴다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "작은 강아지의 등 털과 이발기 날이 만나는 지점을 중심에 두고, 수리영의 손은 작업의 방향을 보여주는 보조 요소로 둔다.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Outside on the port-adjacent commercial street, waist-high and slightly ahead-left of Suriyeong’s bicycle path, moving through pedestrians toward the supermarket frontage",
            "stage_index": 1,
            "stage_label": "establishing_approach",
            "transition_to_next": "The camera keeps moving with Suriyeong as she slows down, then arcs toward the supermarket glass entrance where she parks the bicycle.",
            "visual_focus": "Suriyeong navigating the busy dusk street and the bright supermarket ahead"
          },
          {
            "camera_motion": "static",
            "camera_position": "Just outside the supermarket glass doors, low-to-mid height beside the parked bicycle, about two meters behind Suriyeong and angled toward the illuminated store interior",
            "stage_index": 2,
            "stage_label": "threshold_observation",
            "transition_to_next": "As Suriyeong enters, the camera follows through the doorway with a forward move, leaving the bicycle behind and reorienting into the aisles.",
            "visual_focus": "Suriyeong’s back as she peers into the bright supermarket interior"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the supermarket between product aisles, eye-level and three-quarter front to Suriyeong, starting several meters away and pushing closer as she searches",
            "stage_index": 3,
            "stage_label": "interior_search",
            "transition_to_next": "The push-in resolves near the aisle end, then the camera pans slightly toward the employee area to connect Suriyeong’s search with the first staff response.",
            "visual_focus": "Suriyeong scanning the shelves and turning her head toward a nearby aisle"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At the side of a product aisle, eye-level between Suriyeong and the female employee, close enough for a two-person exchange without leaving the aisle",
            "stage_index": 4,
            "stage_label": "employee_response",
            "transition_to_next": "The camera pivots off the female employee’s answer toward movement entering from the adjacent aisle, preparing the reveal of the male employee.",
            "visual_focus": "Suriyeong questioning the female employee about her mother"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Near the end of the aisle at Suriyeong’s eye level, about one meter from her face, with the male employee positioned just off her eyeline",
            "stage_index": 5,
            "stage_label": "reaction_close_observation",
            "transition_to_next": "Cut on Suriyeong’s unsettled reaction to the darker exterior, creating a clear stage boundary from interior inquiry to outside urgency.",
            "visual_focus": "Suriyeong’s puzzled face as she looks toward the male employee"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the supermarket on the street side after dusk, full-body distance from Suriyeong with the storefront behind and the road edge nearby",
            "stage_index": 6,
            "stage_label": "withdraw_to_street",
            "transition_to_next": "",
            "visual_focus": "Suriyeong attempting to contact her mother before deciding to head home"
          }
        ],
        "flow_summary": "카메라는 해질녘 번화가에서 수리영의 이동을 따라 마트 입구까지 접근한 뒤, 유리문을 넘어 진열대 사이로 들어가 그녀의 수색과 직원들의 말을 따라 점점 가까워진다. 남자 직원의 말에 수리영의 얼굴로 압축된 뒤, 내부의 불안감을 끊고 어두워진 바깥으로 빠져나가는 흐름이다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame from slightly behind so the parked bicycle remains foreground-adjacent while the bright interior dominates beyond the glass.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten from the stage’s wider aisle search into a face-oriented medium close view as Suriyeong turns toward one shelf direction.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Complete the push-in as a close-up, keeping the male employee off-frame or near the eyeline so the emphasis stays on Suriyeong’s confused reaction.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide position on the outside of a curved coastal road at night, about 12 meters from the lane and 1.6 meters high, looking diagonally across the bend toward the incoming route.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suriyeong enters the curve on the bicycle, the camera leaves the wide roadside position and picks up speed into a parallel side track.",
            "visual_focus": "the dark curved coastal road and Suriyeong approaching on the bicycle"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low parallel tracking position on the seaward side of the road, about 3 meters beside the bicycle and 1.1 meters high, matching Suriyeong's speed in profile.",
            "stage_index": 2,
            "stage_label": "parallel_urgency",
            "transition_to_next": "The camera gradually eases behind her line of travel, allowing the bicycle to move slightly ahead while the road curve carries her away.",
            "visual_focus": "Suriyeong leaning forward over the bicycle, driving the pedal hard as her hair streams backward"
          },
          {
            "camera_motion": "track",
            "camera_position": "Rear three-quarter position slightly behind the bicycle, about 5 meters back and 1.5 meters high, following along the curve as the distance slowly opens.",
            "stage_index": 3,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyeong continuing down the night coastal road toward home"
          }
        ],
        "flow_summary": "카메라는 어두운 해안도로의 굽은 길을 넓게 잡은 뒤, 수리영이 자전거로 진입하는 순간 옆으로 붙어 속도를 맞춰 달린다. 이후 그녀가 길을 따라 멀어지도록 뒤쪽으로 살짝 빠지며 긴박한 귀가의 흐름을 유지한다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the side profile slightly within the parallel track to emphasize the bent posture, the pressing knee, and the wind pulling her hair backward.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low exterior position on the rooftop, about 18 inches above the cement floor and 12 feet from the rooftop room entrance, looking across the wind-swept foreground toward the metal door area.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a low forward track, following the movement of the blown leaves toward the approaching shoes and the entrance.",
            "visual_focus": "wind-tossed rooftop objects leading the eye toward the dark entrance zone"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Ground-level exterior position, 8 inches above the cement floor and several feet in front of the rooftop room door, angled slightly upward so the door threshold and the long human shadow dominate the frame.",
            "stage_index": 2,
            "stage_label": "approach_shadow",
            "transition_to_next": "The dolly continues toward the door, rising slightly from the floor line to bring the door seam and lock area into close observation.",
            "visual_focus": "the unknown man's elongated shadow falling across the cement before the metal door"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight exterior position beside the metal door seam, about waist height and less than 2 feet from the threshold, looking directly into the narrow line between door and frame.",
            "stage_index": 3,
            "stage_label": "lock_reveal",
            "transition_to_next": "After the faint opening appears, the camera lets the dark gap fill the frame, then tracks along the exterior wall toward the nearby window as the unseen man enters.",
            "visual_focus": "the metal door unlocking and opening inward just enough to create a dark slit"
          },
          {
            "camera_motion": "track",
            "camera_position": "Exterior position directly outside the dark window, about chest height and close to the glass, moving into a slight oblique angle so the reflected interior silhouettes flatten against the pane.",
            "stage_index": 4,
            "stage_label": "window_silhouette_reveal",
            "transition_to_next": "",
            "visual_focus": "the reflected silhouettes of the unknown man pressing into Minsuk near her shoulder as her mouth opens in a frozen scream"
          }
        ],
        "flow_summary": "카메라는 바람 부는 옥상 바닥에서 낮게 출발해 남자의 그림자를 따라 철문 앞으로 접근한 뒤, 잠금이 풀리는 문틈에 밀착한다. 문이 열리는 순간 어둠을 타고 외벽을 따라 창문으로 이동해, 유리에 비친 민숙과 남자의 위협적인 실루엣을 드러낸다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "Hold slightly wider than the stage default so the cement floor, metal door base, and full length of the shadow remain legible.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten the framing to the door edge and let the newly formed black gap become the primary graphic element.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 3
          },
          {
            "deviation_note": "Settle the track into a near-static hold at the glass, aligning the man's head area with Minsuk's shoulder in the reflected silhouette.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Outside the rooftop room entrance at shoulder height, following closely behind Suriyoung from the stair landing to the half-open metal door, about 3 feet behind her",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera slips through the doorway behind Suriyoung and continues forward into the dim interior without breaking her momentum.",
            "visual_focus": "Suriyoung entering the rooftop room and reacting to the strange smell"
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside the living room at chest height, moving laterally from the doorway past the cold pot, the glowing TV, and the dining table toward the bedroom corridor",
            "stage_index": 2,
            "stage_label": "search",
            "transition_to_next": "The camera follows Suriyoung to the bedroom door, lowers slightly, and narrows its attention toward the floor beyond the threshold.",
            "visual_focus": "the abandoned objects in the living room and Suriyoung's anxious search path"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low inside Suriyoung's bedroom, about 2 feet above the floor, moving from the bloodstained floor toward the curtain at the far side of the room",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "On the curtain opening and the discovery, the camera holds the revealed body for a beat, then cuts sharply to Suriyoung's face.",
            "visual_focus": "the blood trail leading to the curtain and the mother sitting behind it"
          },
          {
            "camera_motion": "static",
            "camera_position": "Eye level inside the bedroom, less than 2 feet in front of Suriyoung, slightly off-center so the dark room remains visible behind her",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "The camera pivots away from Suriyoung's frozen face along her rising sightline toward the bed wall.",
            "visual_focus": "Suriyoung's stunned face as the discovery registers"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Inside the same bedroom near the bed, at standing eye height, angled upward toward the wall above the bed",
            "stage_index": 5,
            "stage_label": "supernatural_reveal",
            "transition_to_next": "",
            "visual_focus": "the dark wall above the bed as a giant red circle appears"
          }
        ],
        "flow_summary": "카메라는 수리영의 뒤를 따라 옥탑방 안으로 밀려 들어간 뒤, 생활의 흔적을 지나 방 안의 혈흔과 커튼까지 낮게 파고든다. 시신의 발견 후에는 수리영의 얼어붙은 얼굴로 끊어 받고, 그녀의 시선을 따라 침대 위 벽면의 붉은 원으로 상승한다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "Hold a little longer at the end of the push-in so the seated body behind the bloodstained curtain becomes the first clear reveal.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten to a more compressed close-up on Suriyoung's eyes and open mouth while keeping the camera locked off.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 4
          },
          {
            "deviation_note": "Complete the upward tilt and settle into a static composition centered on the huge red circle above the bed.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 18,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At alley curb level, eye height, about 4 meters from the police car, angled three-quarters toward the open driver-side door and the narrow rooftop stair access beyond it",
            "stage_index": 1,
            "stage_label": "establishing_arrival",
            "transition_to_next": "The camera begins to leave the police car position, tracking with Hyesu as her attention shifts from the vehicle toward Suriyoung in the alley.",
            "visual_focus": "Hyesu standing beside the police car under the flashing siren light"
          },
          {
            "camera_motion": "track",
            "camera_position": "Handheld at shoulder height in the middle of the alley, moving from the police car toward Suriyoung and then toward the rooftop stair entrance",
            "stage_index": 2,
            "stage_label": "approach_and_ascent",
            "transition_to_next": "A hard cut carries the movement from the exterior stair approach into the rooftop room doorway, marking the jump from outside to inside.",
            "visual_focus": "Hyesu closing the distance to Suriyoung, then the urgent movement toward the rooftop room"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Just inside the rooftop room doorway, eye height, 2 meters behind the threshold, with a wide view across the clean room toward the bed, curtain area, and open floor",
            "stage_index": 3,
            "stage_label": "interior_survey",
            "transition_to_next": "The camera narrows its attention by dollying inward from the room-wide survey toward Suriyoung and the empty floor she is studying.",
            "visual_focus": "The unnaturally clean room where the expected traces are missing"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low standing height inside the room, about 1 meter from Suriyoung and slightly forward of her eyeline, angled down toward the spotless floor then rising to her face",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "The camera follows Suriyoung's eyeline with a small lateral track and pan from the clean floor toward the corner where the backpack and doll sit.",
            "visual_focus": "Suriyoung's blank expression as she looks down at the floor where the blood should have been"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight eye-level close-up beside Suriyoung, about 40 centimeters from her face, with the room corner implied just off her line of sight",
            "stage_index": 5,
            "stage_label": "reveal_reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's eyes subtly widening as her gaze fixes on the backpack"
          }
        ],
        "flow_summary": "카메라는 경찰차가 선 골목에서 혜수의 발견과 질주를 따라가다가, 옥탑방 내부로 논리적 컷을 통해 진입한다. 이후 깨끗하게 사라진 흔적을 훑으며 수리영의 시선과 함께 바닥에서 백팩 쪽으로 좁혀 들어간다.",
        "scene_index": 12,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame long enough for the red siren flashes to define the alley atmosphere before Hyesu moves away from the car.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "Favor Suriyoung's face over the floor at the end of the inward move, keeping the clean floor as the cause of her stunned reaction.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 4
          },
          {
            "deviation_note": "Tighten to a face-only close-up; the backpack is communicated through Suriyoung's eyeline rather than shown directly in focus.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 13,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At waist height beside the coastal bus stop bench, about 12 feet from Suryoung, angled in profile so the bench and the dark sea sit on the same horizontal line.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow lateral move along the bench line, closing the distance as Hyesu steps into Suryoung's space with the drink.",
            "visual_focus": "Suryoung sitting blankly toward the sea, with the bus stop bench and shoreline atmosphere framing her isolation."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At shoulder height just off Suryoung's front-left side, within 2 feet of her face, close enough for Hyesu's hand to enter from the side of frame.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As Suryoung reacts and rises, the camera tilts up with her and pivots away from the bench toward the dark road, letting the close detail open into movement.",
            "visual_focus": "The drink can held by Hyesu stopping near Suryoung's face, with Suryoung's unfocused expression behind it."
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind and slightly left of Suryoung at waist height, 10 to 15 feet back, aligned with the road leading away from the bus stop into darkness.",
            "stage_index": 3,
            "stage_label": "departure_pursuit",
            "transition_to_next": "The camera follows her run briefly, then lets her pull farther ahead; when the space swallows her, it cuts to a distant fog-bound watching angle.",
            "visual_focus": "Suryoung sprinting away toward the dark road while Hyesu remains behind near the bus stop."
          },
          {
            "camera_motion": "static",
            "camera_position": "Far across the foggy roadside darkness at eye height, roughly 100 feet from the bus stop area, using a compressed long-lens view that reduces both figures to small silhouettes.",
            "stage_index": 4,
            "stage_label": "distant_reveal",
            "transition_to_next": "",
            "visual_focus": "The small silhouettes of Suryoung and Hyesu in the heavy night fog, as if observed from a hidden distance."
          }
        ],
        "flow_summary": "카메라는 해안가 버스정류장의 고립된 벤치 옆에서 시작해 수리영의 얼굴 가까이 다가갔다가, 그녀가 도로 쪽으로 뛰쳐나가자 뒤따라 움직인다. 마지막에는 물리적 추적을 끊고 먼 안개 속 관찰자 같은 시점으로 컷해 두 사람을 작고 불안한 실루엣으로 남긴다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "Frame the can as the nearest object, letting it partially interrupt Suryoung's face rather than centering both characters equally.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Lower the lens slightly to emphasize the stride: one foot planted on the road while the other is suspended in the air.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold the frame without following either figure, allowing the fog and darkness to dominate the composition.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level just inside the police office entrance, facing inward from the doorway toward the duty desk area, several meters from the characters",
            "stage_index": 1,
            "stage_label": "establishing_entry",
            "transition_to_next": "The camera tracks forward with Hyesu's movement into the office, letting the duty desk grow larger in frame as she heads toward Kim Detective.",
            "visual_focus": "Hyesu entering the office while trying to reach someone on her smartphone, with the quiet duty desk in the background"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At chest height on the near side of Kim Detective's desk, slightly behind and to the side of Hyesu, close enough to see her arm extending across the desktop",
            "stage_index": 2,
            "stage_label": "approach_request",
            "transition_to_next": "As Hyesu stops at the desk and presents the phone, the camera continues a short push inward, then begins to slide its attention across the desk line toward Kim Detective's reaction.",
            "visual_focus": "Hyesu's smartphone screen being pushed toward Kim Detective across the desk"
          },
          {
            "camera_motion": "track",
            "camera_position": "At seated eye level beside the desk, angled three-quarters toward Kim Detective from Hyesu's side of the room, close enough for a restrained facial reaction",
            "stage_index": 3,
            "stage_label": "reaction_observation",
            "transition_to_next": "",
            "visual_focus": "Kim Detective leaning back in his chair and glancing sideways at Hyesu's smartphone"
          }
        ],
        "flow_summary": "카메라는 혜수를 따라 경찰서 사무실 안으로 들어온 뒤, 책상 앞에서 스마트폰을 들이미는 손끝으로 좁혀 들어간다. 이어 책상 선을 따라 김형사 쪽으로 미끄러지듯 옮겨가며 그의 미온적인 반응을 포착한다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "Lower the lens slightly toward desk height so the smartphone screen dominates the foreground while Hyesu's stopped posture remains implied behind it.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten the framing into a close reaction, keeping the smartphone just off-axis or at the edge of his eyeline to emphasize his sideways glance.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide exterior position across the rooftop, slightly above parapet height, far enough to frame the old rooftop room against the blue dawn sky",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "After holding the wide view, the camera begins a slow lateral move toward the rooftop parapet, lowering the attention from the lit window to the roof edge.",
            "visual_focus": "the old rooftop room exterior with its lit window under the dawn sky"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low side position along the rooftop parapet, near cat height, moving parallel to the wall at a medium distance from the rooftop room",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The track continues along the parapet and eases into a tighter side angle as the attention settles on the black cat looking toward the room.",
            "visual_focus": "the rooftop parapet leading toward the lit rooftop room"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Low close side position beside the parapet, just behind and slightly below the black cat's eyeline",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "the black cat watching the lit rooftop room before moving over the wall"
          }
        ],
        "flow_summary": "카메라는 푸른 새벽빛 속 옥탑방 외관을 넓게 붙잡은 뒤, 옥상 담벼락 쪽으로 낮고 느리게 이동해 고양이의 시선으로 공간을 좁혀간다. 선택된 전경 샷은 이 연속 이동의 출발점으로, 이후 담벼락과 고양이 쪽으로 흐를 수 있게 설계된다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the main bedroom, low at mattress height about two meters from Suri-young, facing her against the bed headboard with the room exit in the distant background.",
            "stage_index": 1,
            "stage_label": "awakening_establishing",
            "transition_to_next": "The camera continues forward with her startled line of sight, then tracks toward the closed door as she leaves the bed area.",
            "visual_focus": "Suri-young waking from a doze and searching the silent home"
          },
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height beside the door jamb of Suri-young's room, very close to her profile side, looking through the opening into the unnaturally clean empty room.",
            "stage_index": 2,
            "stage_label": "threshold_inspection",
            "transition_to_next": "After her inspection of the empty room, a sound-motivated hard cut follows the sudden phone ring to the living area pickup position.",
            "visual_focus": "Suri-young's tense side profile and the clean, vacant room beyond the open door"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "In the small living area near the ringing phone, eye level and close in front of Suri-young, with the smartphone held low between her face and the lens.",
            "stage_index": 3,
            "stage_label": "phone_alarm",
            "transition_to_next": "The camera loosens from the close distance and tracks after her movement as she gathers herself and heads toward the bathroom.",
            "visual_focus": "Suri-young's shocked face and the smartphone screen in her hand"
          },
          {
            "camera_motion": "static",
            "camera_position": "Inside the bathroom beside the sink, chest height, slightly behind and to the side of Suri-young, angled into the mirror so her reflection and the tiled wall are held in the same plane.",
            "stage_index": 4,
            "stage_label": "mirror_confrontation",
            "transition_to_next": "The camera holds on the mirror axis as attention shifts from her reflection to the reflected wall, tightening into the hallucinated image.",
            "visual_focus": "Suri-young's reflection staring at herself in the bathroom mirror"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight on the bathroom mirror surface at eye level, square to the reflected tiled wall, close enough for the wall pattern and red mark to dominate the frame.",
            "stage_index": 5,
            "stage_label": "hallucination_reveal",
            "transition_to_next": "A sharp reverse to the actual wall breaks the illusion, then the camera retreats with her out of the bathroom toward the living area.",
            "visual_focus": "the giant red circle appearing on the reflected bathroom tile wall"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "In the living area near the dining table, standing height and close to Suri-young, drifting between her face, the water glass, and the framed family photo on the tabletop.",
            "stage_index": 6,
            "stage_label": "panic_withdraw",
            "transition_to_next": "",
            "visual_focus": "Suri-young losing composure as the family photo becomes the next focus of fear"
          }
        ],
        "flow_summary": "카메라는 안방의 낮은 침대 높이에서 수리영의 불안한 각성을 따라 방문, 거실의 전화, 욕실 거울까지 점점 밀착해 이동한다. 전화 벨소리와 환각의 순간에는 논리적 컷으로 위치를 점프시키되, 수리영의 시선과 공포의 방향을 이어 받아 집 안을 관통하는 하나의 추적 동선처럼 구성한다.",
        "scene_index": 16,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly tighter than the stage default so the open door gap slices the composition, keeping Suri-young's side face in the foreground and the empty room receding beyond it.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Raise the smartphone just enough for its glow and screen direction to motivate her downward gaze, while keeping the emphasis on her startled eyes.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 3
          },
          {
            "deviation_note": "Exclude Suri-young from the frame and lock the composition on the mirror image itself, making the red circle feel like it exists inside the reflected wall.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the quiet supermarket near the glass entrance, waist height, several meters behind Suryoung, moving down the aisle line toward the employee area",
            "stage_index": 1,
            "stage_label": "establishing_search",
            "transition_to_next": "The camera continues tracking with Suryoung, then arcs slightly to her side as she stops in front of the male employee for the conversation.",
            "visual_focus": "Suryoung moving through the aisles and scanning the sparse morning store"
          },
          {
            "camera_motion": "static",
            "camera_position": "Inside the supermarket at Suryoung's side, eye level, about three feet from her profile, with the male employee positioned just off her direct eyeline",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "After the CCTV question lands, the scene makes a clear logical cut from the interior conversation to the exterior wall where the possible camera location is checked.",
            "visual_focus": "Suryoung's face as she stares directly at the male employee, waiting for an answer"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside at the building corner, high near the exterior wall, very close to the mounted round security camera, angled slightly upward toward its body while its lens points downward",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "The camera pulls the viewer's attention down the wall from the CCTV position to the sidewalk area below, widening the spatial relationship for Suryoung's reaction.",
            "visual_focus": "The round security CCTV camera hanging on the corner of the supermarket exterior"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside across the sidewalk from the wall, chest height, far enough to hold Suryoung in full body while keeping the CCTV camera above her in the same vertical environment",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suryoung on the phone, looking up at the CCTV camera on the wall"
          }
        ],
        "flow_summary": "카메라는 한산한 마트 내부에서 수리영을 따라가며 남자 직원과의 대화 지점으로 좁혀 들어간 뒤, CCTV 단서가 언급되는 순간 외부 벽면으로 논리적 컷을 한다. 이후 외벽의 CCTV를 먼저 확인하고, 그 아래에서 혜수에게 전화하며 올려다보는 수리영까지 시선을 내려 확장한다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "Keep the male employee mostly implied through Suryoung's eyeline rather than fully framing him, so her direct stare and slightly parted mouth carry the tension.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten from the stage's exterior wall position into a close-up that isolates the CCTV camera and its downward-facing lens.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Widen from the CCTV reveal to a full-body composition of Suryoung, preserving the wall geometry so her upward gaze clearly connects to the camera above.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the small office near the doorway, eye-level, several meters from the desk, looking past the backs and profiles of the people toward the glowing monitor",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow dolly in along the desk line, narrowing the room down to the monitor and the security employee's workstation.",
            "visual_focus": "the group gathered around the monitor in the dim office"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close to the desk, slightly above monitor height and just off-center, lens aimed directly into the CCTV screen",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "After holding on the unreadable footage, the camera slides backward and slightly to the side, leaving the screen glow in the foreground and searching for Suriyoung behind the others.",
            "visual_focus": "the dark monochrome CCTV image of Kang Minsuk and an unidentified man"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside the desk at chest height, moving from the monitor line toward Suriyoung standing behind the seated workstation area",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "The camera eases its movement and can pan away from Suriyoung toward Hyesu and the security employee for the practical request about taking the footage.",
            "visual_focus": "Suriyoung's anxious face and clasped hands"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near the same side of the desk, eye-level, holding a medium distance that keeps the workstation and Hyesu within the office space",
            "stage_index": 4,
            "stage_label": "handoff",
            "transition_to_next": "",
            "visual_focus": "Hyesu and the security employee as the CCTV copy is discussed"
          }
        ],
        "flow_summary": "카메라는 어두운 총무과 입구 쪽의 관찰 위치에서 모니터로 천천히 파고들어 식별 불가능한 CCTV 화면을 확인한 뒤, 그 빛을 따라 뒤편의 수리영에게 미끄러지듯 이동한다. 이후 같은 책상 축을 유지한 채 혜수와 보안직원 쪽으로 시선을 돌릴 수 있는 흐름으로 이어진다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "모니터 프레임을 더 타이트하게 잡아 주변 인물은 배제하고, 화면 속 어둠이 형체를 삼키는 느낌을 강조한다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "수리영의 두 손과 굳은 입술이 함께 보이도록 기본 트래킹 위치에서 약간 더 가까운 상반신 거리로 멈춘다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level just inside the police office entrance, medium-wide distance from the desks, moving inward along the main aisle between workstations.",
            "stage_index": 1,
            "stage_label": "establishing_entry",
            "transition_to_next": "The camera tracks deeper into the office and narrows its axis toward the detective's desk as the conversation shifts to forms and signatures.",
            "visual_focus": "Hyesu entering with Suriyoung and the detective's desk area ahead"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Beside the detective's desk at chest height, close enough to catch the paperwork exchange while still holding Hyesu in the same desk-side space.",
            "stage_index": 2,
            "stage_label": "bureaucratic_pressure",
            "transition_to_next": "A hard cut bridges the meeting interruption and the office clearing out, landing on the same general desk cluster after everyone has left.",
            "visual_focus": "the documents being handled between Hyesu and the detective, with Suriyoung waiting nearby"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low standing height behind and slightly to the side of Suriyoung at Hyesu's desk, pushing toward the desktop until the lens hovers close above the scattered case photographs.",
            "stage_index": 3,
            "stage_label": "discovery_tabletop",
            "transition_to_next": "The camera tilts and rises from the photographs along Suriyoung's line of shock, settling into her face without changing the desk-side geography.",
            "visual_focus": "the scattered crime scene photographs on Hyesu's desk"
          },
          {
            "camera_motion": "static",
            "camera_position": "Seated eye level directly in front of Suriyoung, tight close distance, slightly off-center to leave the desk edge and her hand within the emotional frame.",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "The camera leaves her face by tracking laterally along her eyeline across the empty office toward the detective's lit monitor.",
            "visual_focus": "Suriyoung's frozen reaction as she covers part of her mouth"
          },
          {
            "camera_motion": "track",
            "camera_position": "At seated eye level crossing the gap between Hyesu's desk and the detective's desk, ending very close and square to the glowing monitor screen.",
            "stage_index": 5,
            "stage_label": "monitor_reveal",
            "transition_to_next": "The move continues down from the screen toward the desk surface, preparing to follow Suriyoung's hand as she records the coordinates.",
            "visual_focus": "the map and red coordinate numbers displayed on the detective's monitor"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Close beside the detective's desk at waist height, then backing and rising behind Suriyoung as she prepares to leave through the glass office door.",
            "stage_index": 6,
            "stage_label": "withdraw_escape",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's hurried note-taking, the folded paper, and her exit from the empty office"
          }
        ],
        "flow_summary": "카메라는 경찰서 입구에서 사무실 안쪽으로 들어와 서류 처리의 압박을 따라가다가, 사람들이 빠져나간 뒤 수리영이 남겨진 책상으로 낮게 밀착한다. 이후 현장 사진에서 수리영의 얼굴, 다시 김형사의 모니터로 시선을 이어가며 공포가 정보 발견으로 바뀌는 흐름을 만든다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "The dolly-in resolves into a near-overhead close composition, briefly suppressing surrounding office context so the mutilated details dominate the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "The frame tightens slightly from the stage default to emphasize her widened eyes and the hand half-covering her mouth.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          },
          {
            "deviation_note": "The lateral track finishes in a locked, square-on monitor close-up, centering the map and the red coordinate numbers while excluding most of the desk.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Outside the police station, at standing eye level, several meters from the bicycle rack, facing Suriyeong and the parked bicycle in a three-quarter frontal view",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera lowers and moves closer along the bicycle line toward the crank and pedal area as Suriyeong prepares to push off.",
            "visual_focus": "Suriyeong holding the bicycle at the rack area"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low beside the bicycle, near pedal height, close to the front half of the frame, angled slightly upward toward Suriyeong's foot and the bicycle frame",
            "stage_index": 2,
            "stage_label": "impulse",
            "transition_to_next": "As the pedal stroke drives the bicycle forward, the camera rises and shifts laterally into a parallel side-tracking position on the road.",
            "visual_focus": "The forceful downward pedal stroke that initiates motion"
          },
          {
            "camera_motion": "track",
            "camera_position": "On the road beside Suriyeong, at about waist-to-chest height, maintaining a full-body side distance parallel to the moving bicycle",
            "stage_index": 3,
            "stage_label": "side_follow",
            "transition_to_next": "",
            "visual_focus": "Suriyeong leaning forward over the saddle while accelerating on the bicycle"
          }
        ],
        "flow_summary": "카메라는 경찰서 밖 자전거 거치대 앞에서 출발해 페달을 밟는 추진력으로 시선을 낮췄다가, 자전거가 도로로 나아가면 옆으로 붙어 함께 달린다. 선택된 측면 전신 샷은 이 연속 이동의 후반부, 수리영의 가속을 따라가는 트래킹 구간에 해당한다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly wider than the stage default to keep the full bicycle and Suriyeong's forward-leaning posture in profile while preserving the sense of speed through wind-swept hair.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Extreme close to the monitor surface at seated eye level, only a few inches from the screen, square-on to the map interface",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera pulls slightly off the screen and tracks right along the desk edge toward the printer, following the direction of Suriyeong's hand movement.",
            "visual_focus": "the red pin icon marking a specific point on the coastal map"
          },
          {
            "camera_motion": "track",
            "camera_position": "At desktop height beside the monitor and printer, close to the paper tray, angled three-quarters from Suriyeong's working side",
            "stage_index": 2,
            "stage_label": "transfer",
            "transition_to_next": "The camera continues with the hand in a smooth downward arc, tilting and lowering from the desktop to Suriyeong's lap.",
            "visual_focus": "Suriyeong's hand gathering the newly printed map from the printer area"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Low at lap height in front of the chair, close to the open backpack resting on Suriyeong's knees, looking slightly downward",
            "stage_index": 3,
            "stage_label": "conceal",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's hand sliding the folded printed map into the open gap of the backpack"
          }
        ],
        "flow_summary": "카메라는 모니터 속 좌표 클로즈업에서 시작해 책상 위 프린터 방향으로 옆으로 이동한 뒤, 수리영의 손을 따라 무릎 위 백팩까지 내려간다. 지도 확인, 출력, 수납의 동선을 하나의 연속적인 추적으로 연결한다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter than the stage default so the coastline detail and red pin dominate the image, with no wider view of Suriyeong needed.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "The camera settles slightly closer to the backpack opening, cropping out most of the surroundings to emphasize the half-inserted folded map and Suriyeong's hand.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide position on the rain-lashed coastal road shoulder, about chest height, several meters away from the roadway, facing diagonally along the road toward the oncoming storm",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to slide parallel to the road, lowering slightly as Suryoung enters the frame on the bicycle.",
            "visual_focus": "the dark coastal road, heavy rain, and the direction of Suryoung's approach"
          },
          {
            "camera_motion": "track",
            "camera_position": "Side-tracking position beside Suryoung's bicycle, around waist height, close enough to feel the speed but still showing her effort against the rain",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera drops forward and downward along the bicycle's path, leaving Suryoung's upper body to settle near the front wheel line.",
            "visual_focus": "Suryoung pushing the bicycle through the storm"
          },
          {
            "camera_motion": "track",
            "camera_position": "Extremely low position just ahead and slightly to the side of the bicycle's front wheel, only inches above the wet road surface, tight distance to the puddle impact zone",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "the front wheel striking a deep puddle and the splash erupting into the air"
          }
        ],
        "flow_summary": "카메라는 폭우가 쏟아지는 해안가 도로의 삭막한 전경에서 시작해, 자전거를 탄 수리영의 움직임을 따라붙으며 점점 낮아진다. 마지막에는 앞바퀴와 물웅덩이의 충돌 지점까지 파고들어, 거대한 물보라가 솟는 찰나를 포착한다.",
        "scene_index": 22,
        "shot_assignments": [
          {
            "deviation_note": "Freeze the instant of impact so the splash hangs in the air while keeping the camera extremely low and tight on the wheel.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low height inside the rooftop room entrance, about one meter above the floor, moving slowly across the disturbed living room toward the open bedroom doorway",
            "stage_index": 1,
            "stage_label": "establishing_intrusion",
            "transition_to_next": "The camera continues forward in the same line of movement, leaving the living room mess behind and arriving at the bedroom threshold.",
            "visual_focus": "muddy footprints, scattered household items, fallen chairs, and the open path into the bedroom"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At the open bedroom doorway, eye level, centered on the far interior wall from several meters away",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "The dolly-in tightens toward the marked wall and the pinned photograph, narrowing the room into a single threatening focal point.",
            "visual_focus": "the large rough red circle on the bedroom wall with a small paper photograph pinned at its center"
          },
          {
            "camera_motion": "track",
            "camera_position": "Close to the bedroom wall at chest height, then sliding backward and sideways to follow Suriyoung from the wall toward the bed",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "As Suriyoung pulls away from the wall with the photograph, the camera tracks with her movement and settles near the foot of the bed.",
            "visual_focus": "Suriyoung taking in the blood-marked photograph and carrying it away from the wall"
          },
          {
            "camera_motion": "static",
            "camera_position": "Near the foot of the bed at waist height, several meters back, angled slightly toward the mattress and the disordered room behind Suriyoung",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "After holding on her collapse, the scene cuts to a rear position near the dark entrance as she commits to leaving.",
            "visual_focus": "Suriyoung sitting down on the mattress in shock, holding the old photograph in one hand"
          },
          {
            "camera_motion": "static",
            "camera_position": "Behind Suriyoung near the rooftop room entrance, shoulder height, looking outward through the dark open doorway from inside the room",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyoung stepping out through the doorway with a backpack on one shoulder and the photograph in her hand"
          }
        ],
        "flow_summary": "카메라는 어질러진 옥탑방 입구에서 시작해 발자국과 난장판을 따라 방 안쪽으로 파고들고, 열린 방의 붉은 원과 사진을 발견한 뒤 수리영의 무너지는 반응까지 따라간다. 마지막에는 방 안에 남은 시선으로 물러서듯, 수리영이 사진을 쥔 채 현관 밖으로 나가는 뒷모습을 붙잡는다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "Frame the wall more symmetrically than the moving approach, holding the red circle and pinned photograph dead center to make the reveal feel ritualistic.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 2
          },
          {
            "deviation_note": "Widen slightly from the stage default so her full body, the mattress, and some of the wrecked room remain visible around her.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 4
          },
          {
            "deviation_note": "Hold a rear silhouette-oriented composition and let the doorway dominate the frame as she places one foot outside.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At waist height on the wet rock edge of the empty harbor, 6 meters behind and slightly to the side of Suri-young, looking out over the fog-covered water",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera pans with Suri-young's attention from the silent harbor edge toward the thickest part of the fog over the water.",
            "visual_focus": "Suri-young facing the empty foggy sea and the vacant harbor around her"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low on the pier approach, about 25 meters from the waterline, lens aimed straight into the fog at the height of a small boat's bow",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "As the boat comes closer, the camera tracks backward along the pier and shifts toward the mooring point to meet it at dock level.",
            "visual_focus": "The faint bow of a small fishing boat emerging through the dense fog"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height beside the mooring post on the pier, 3 meters from the boat and slightly behind the rope line",
            "stage_index": 3,
            "stage_label": "approach",
            "transition_to_next": "The camera slides laterally around the mooring line, opening the angle until Suri-young and Inwoo share the same empty harbor space.",
            "visual_focus": "Inwoo securing the rope while Suri-young approaches the boat"
          },
          {
            "camera_motion": "static",
            "camera_position": "Eye-level in the open harbor space, 5 meters from Suri-young and Inwoo, perpendicular to their eyeline so both stand opposite each other in a balanced two-shot",
            "stage_index": 4,
            "stage_label": "confrontation",
            "transition_to_next": "After the decision to let her board, the camera tracks around Suri-young toward the seaward edge of the pier, leaving Inwoo and the boat behind her.",
            "visual_focus": "Suri-young and Inwoo facing each other in the empty fog-bound harbor"
          },
          {
            "camera_motion": "static",
            "camera_position": "At eye level on the seaward edge of the pier, 0.7 meters in front of Suri-young, aligned just above the smartphone near her mouth",
            "stage_index": 5,
            "stage_label": "private_message",
            "transition_to_next": "",
            "visual_focus": "Suri-young's front-facing expression as she speaks into the smartphone while looking toward the dark sea"
          }
        ],
        "flow_summary": "카메라는 안개 낀 빈 포구의 가장자리에서 바다를 응시하다가, 안개 속에서 드러나는 어선을 따라 부두로 이동한다. 배가 닿은 뒤에는 수리영과 인우의 대면을 정면으로 붙잡고, 마지막에는 수리영의 얼굴 앞으로 조용히 좁혀져 음성메시지의 순간에 머문다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "안개가 선수의 윤곽을 완전히 드러내기 전, 프레임 안으로 뱃머리만 흐릿하게 튀어나오는 순간에 맞춘다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "대화의 긴장감을 위해 이동을 멈춘 완전한 정지 프레임으로 유지하고, 주변의 빈 포구가 두 사람 사이의 거리를 강조하게 한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          },
          {
            "deviation_note": "스마트폰이 입가에 바짝 붙은 높이에 렌즈를 맞추고, 수리영의 시선은 카메라를 살짝 지나 어두운 바다 쪽으로 빠지게 둔다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the dim rooftop-room living area, eye-level and very close to Hyesu, about 0.6 meters from her face, slightly off-center to the phone side.",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera begins a slow lateral track away from Hyesu's face, opening the space toward the side of the room where the other presence is felt.",
            "visual_focus": "Hyesu's widened eyes and the smartphone held tight to her ear"
          },
          {
            "camera_motion": "track",
            "camera_position": "Mid-room at chest to eye height, moving laterally across the cramped living area from Hyesu's side toward the wall line where Detective Kim stands.",
            "stage_index": 2,
            "stage_label": "reaction_pass",
            "transition_to_next": "As the rattling sound from the entrance takes over, the camera continues its lateral movement and gently pans toward the doorway, leaving the characters' exchange behind.",
            "visual_focus": "the tense exchange between Hyesu and Detective Kim within the small room"
          },
          {
            "camera_motion": "static",
            "camera_position": "Near the inner side of the rooftop-room entrance, eye-level, about 2 meters from the old metal door, squared toward the doorway with the room falling quiet behind camera.",
            "stage_index": 3,
            "stage_label": "door_reveal",
            "transition_to_next": "",
            "visual_focus": "the old metal entrance door held slightly open outward by the wind"
          }
        ],
        "flow_summary": "카메라는 혜수의 불안한 얼굴 가까이에서 시작해, 좁은 옥탑방 안을 옆으로 훑으며 김형사와의 긴장을 지나 현관 쪽 소리로 시선을 옮긴다. 마지막에는 인물들을 떠나 덜커덩거리는 철문을 정면으로 붙잡아 황량함을 남긴다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the frame into a close-up so the smartphone edge and Hyesu's enlarged eyes dominate the composition.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Hold the door in a still, nearly symmetrical frame, emphasizing the narrow outward gap and the pause after the rattling.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide three-quarter position on the open deck, waist height, several meters from Inwoo and Suriyoung, with the dark sea and boat rail behind them",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow push along the deck toward the seated Inwoo as Suriyoung brings the map and then the photograph into his space.",
            "visual_focus": "Suriyoung approaching Inwoo on the deck, with the exchange of objects setting the tension"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close deck-side position at Inwoo's eye level, just off his front shoulder, close enough for Suriyoung's hand to enter the foreground",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "At the end of the push, the lens shifts attention from the photograph in the foreground to Inwoo's face, carrying the gaze into his reaction.",
            "visual_focus": "Suriyoung's hand forcing the old blood-stained photograph close to Inwoo's eyes"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight frontal position at Inwoo's eye height, less than an arm's length from his face, holding him against the dim deck background",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "As Inwoo breaks the stillness and springs up, the camera loosens into handheld movement and follows his sudden escape path toward the wheelhouse.",
            "visual_focus": "Inwoo's widened eyes and frozen, exposed panic"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Shoulder-height moving position on the deck, trailing slightly behind and to the side as Inwoo rushes toward the wheelhouse with Suriyoung following",
            "stage_index": 4,
            "stage_label": "pursuit_transition",
            "transition_to_next": "The camera continues with the movement to the wheelhouse threshold, then lets Suriyoung overtake the frame and plant herself in front of the narrow doorway.",
            "visual_focus": "Inwoo's abrupt run toward the wheelhouse and Suriyoung reacting to stop him"
          },
          {
            "camera_motion": "static",
            "camera_position": "Just outside the wheelhouse entrance, chest height, directly behind Suriyoung at close distance, facing the narrow doorway and the blocked interior beyond",
            "stage_index": 5,
            "stage_label": "blockade",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's back as she spreads both arms to block the wheelhouse doorway"
          }
        ],
        "flow_summary": "카메라는 갑판의 대치 상황을 넓게 잡은 뒤 인우의 시선 앞으로 밀려 들어오는 사진에 바짝 접근하고, 그의 동요를 정면에서 붙잡는다. 이어 인우가 조타실로 뛰쳐가는 순간 카메라도 흔들리며 따라가다가, 수리영이 좁은 문틈을 막아서는 지점에서 멈춘다.",
        "scene_index": 26,
        "shot_assignments": [
          {
            "deviation_note": "Frame the photograph extremely close to the lens so it nearly eclipses Inwoo beyond it, emphasizing the forced proximity of the evidence.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the camera steadier than the surrounding flow, letting the reaction feel suspended before he bolts.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Settle the handheld pursuit into a locked, compressed view from behind Suriyoung, making the doorway feel narrow and sealed.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the cramped wheelhouse, at chest height near the forward control area, about two meters from Suri-young and In-woo, angled slightly across the narrow space so both figures share the same axis of tension",
            "stage_index": 1,
            "stage_label": "establishing_tension",
            "transition_to_next": "The camera lowers and pushes its attention down toward the photograph between them, compressing the argument into a detail on the console or in their hands.",
            "visual_focus": "the confrontation between Suri-young and In-woo in the dim wheelhouse"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close above the old photograph, at hand height, lens nearly parallel to the surface and slightly offset from Suri-young's pointing hand",
            "stage_index": 2,
            "stage_label": "photo_identification",
            "transition_to_next": "After holding on the pointed face in the photograph, the camera lifts and tracks around In-woo's side toward the rear wall, carrying the shock from the photo into the surrounding space.",
            "visual_focus": "Suri-young's finger indicating the short-haired girl in the old photograph"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind and slightly to one side of In-woo at shoulder height, close enough for his presence to frame the foreground while the rear wall of the wheelhouse fills the background",
            "stage_index": 3,
            "stage_label": "wall_reveal",
            "transition_to_next": "The camera continues its lateral move past In-woo's shoulder and reorients toward Suri-young as her gaze fixes on the red circle and her body begins to fail.",
            "visual_focus": "the many circular scratches on the wheelhouse wall and the large red circle among them"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Tight between In-woo and Suri-young at upper-body height, slightly unstable and close to Suri-young's face line as she loses balance forward",
            "stage_index": 4,
            "stage_label": "collapse_motion",
            "transition_to_next": "The handheld drift follows Suri-young's downward-forward movement until her head reaches In-woo's shoulder, then the camera settles into stillness.",
            "visual_focus": "Suri-young's disorientation and forward collapse toward In-woo"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight side position at In-woo's shoulder height, less than half a meter from the point of contact, with Suri-young's forehead and In-woo's shoulder occupying the center of the frame",
            "stage_index": 5,
            "stage_label": "frozen_contact",
            "transition_to_next": "",
            "visual_focus": "Suri-young's forehead resting motionless against In-woo's shoulder"
          }
        ],
        "flow_summary": "카메라는 조타실 안의 대립을 넓게 잡은 뒤 낡은 사진의 단서로 내려가고, 그 충격을 따라 인우 뒤편의 벽과 붉은 원으로 이동한다. 이후 수리영의 시선과 몸이 무너지는 방향을 따라가다가, 인우의 어깨에 이마가 닿은 정지 상태에서 멈춘다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "The framing tightens into an insert so the fingertip and the girl's face in the photograph become the entire visual event.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "The composition lets In-woo's rear-side presence partially anchor the foreground while the scratches and the single red circle dominate in sharp, unsettling clarity.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "The camera has fully settled from the collapse movement into a locked-off hold, emphasizing that the contact has stopped rather than continued.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "High wide position above the open sea, far from the boat, looking west across the water at sunset height",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward track over the water, leaving the sunset reflection behind and orienting toward the darker horizon.",
            "visual_focus": "golden sunset reflection stretching across the sea surface"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low gliding position just above the sea surface, several hundred feet from the fog bank, facing straight toward the dense gray wall of mist",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues forward and lowers slightly, aligning with the boat's course as the bow enters the frame near the fog line.",
            "visual_focus": "a massive gray fog bank blocking the dark sea ahead"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low frontal three-quarter position near the bow of Inwoo's old small fishing boat, close to water level and just ahead of the vessel as it crosses into the fog",
            "stage_index": 3,
            "stage_label": "threshold",
            "transition_to_next": "",
            "visual_focus": "the boat's bow half swallowed by dense fog, with white water breaking against the front and indicating its forward movement"
          }
        ],
        "flow_summary": "카메라는 노을이 비친 넓은 바다에서 출발해 수면 가까이 낮아지며 안개 벽을 향해 전진한다. 마지막에는 인우의 낡은 소형 어선 뱃머리와 함께 안개 속 경계로 들어가며 1부의 끝을 닫는다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter on the front section of the boat so the bow is already half inside the fog, emphasizing the white wake striking the hull as the clearest sign of motion.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "f09b596a-c2bf-4f75-8063-9a499f248adf",
  "resolved_model": "gpt",
  "updated_at": "2026-04-30T21:45:50.653206+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50"
}