{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At chest height inside dense undergrowth, about 8 feet in front of the man, facing him head-on through layers of branches and leaves",
            "stage_index": 1,
            "stage_label": "terror_hold",
            "transition_to_next": "The camera breaks the stillness by dropping and sliding along the man's left side, moving from his frightened face toward his injured leg while staying within the same patch of brush.",
            "visual_focus": "the terrified man frozen while forcing the bushes apart"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low beside the man's wounded thigh and bare foot, within 2 feet of his body, angled slightly upward from the forest floor",
            "stage_index": 2,
            "stage_label": "injury_pass",
            "transition_to_next": "Continuing the same sideward track, the camera arcs behind the man and rises quickly to shoulder height, turning its view away from him toward the dark forest ahead.",
            "visual_focus": "the man's bleeding leg wound and exposed foot as he staggers in place"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Shoulder height just behind and slightly to the side of the man, about 3 feet from his back, aimed forward into the trees on his line of sight",
            "stage_index": 3,
            "stage_label": "attack_reveal",
            "transition_to_next": "",
            "visual_focus": "a dark humanlike silhouette launching through the air toward the man with both arms extended"
          }
        ],
        "flow_summary": "카메라는 수풀 앞에서 굳어 있는 남자의 공포를 정면으로 붙잡은 뒤, 그의 상처를 따라 낮게 미끄러지며 뒤쪽으로 돌아간다. 마지막에는 남자의 시선 방향으로 급히 올라서며 숲속에서 도약해오는 검은 인영을 정면으로 받아낸다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame almost motionless to emphasize the man's frozen posture and wide-eyed fear within the dense foliage.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Frame the airborne silhouette near the apex of its leap, centered and frontal, with the man only implied by the camera's position just behind him.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide shot from the mouth of the dark back alley, eye level, about 8 meters from the utility pole under the weak streetlamp",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward dolly along the alley centerline, keeping the couple locked under the streetlamp.",
            "visual_focus": "the full bodies of the man pressing close to the woman against the utility pole"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Medium-wide position in the alley, eye level, about 4 meters from the couple, slightly off to the woman's side of the utility pole",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The forward movement tightens into the space between their shoulders and faces, shifting attention upward without breaking the axis.",
            "visual_focus": "the tightening contact between the man and the woman as their breathing intensifies"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Close position beside the utility pole, chest-to-face height, within 1.5 meters of the couple",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "As the attack peaks, the camera eases backward and lowers its angle to recover the full bodies as the woman loses strength.",
            "visual_focus": "the man's lifted face, glowing eyes, open mouth, and the woman's exposed neck"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Medium-wide position slightly lower than eye level, about 4 to 5 meters from the utility pole, angled to see both bodies from head to knees and the ground below",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "the bloodied man leaning back and the woman collapsing downward toward the alley floor"
          }
        ],
        "flow_summary": "카메라는 어두운 골목 입구의 전신 와이드에서 시작해 전봇대에 엉킨 두 사람에게 천천히 접근하고, 공격의 핵심을 가까이 관찰한 뒤 다시 물러나며 여자가 무너지는 전신을 드러낸다. 전체 흐름은 같은 골목 축을 유지한 채 접근과 후퇴로 긴장과 결과를 한 번에 연결한다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame a little longer at the start so the streetlamp, utility pole, and full-body entanglement read clearly before the camera advances.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Settle the dolly-out at its end point so the man's bloodied mouth and the woman's buckling knees are both visible in a full-body composition.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low chest-height position just inside the police line, several meters from the covered bodies on the forest dirt ground",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to slide laterally along the police line, leaving the bodies in the near background and searching toward the cluster of investigators.",
            "visual_focus": "the cordoned-off ground and the two covered bodies"
          },
          {
            "camera_motion": "track",
            "camera_position": "Chest-height position moving parallel to the police line, passing from the body recovery area toward the gathered investigators at mid-distance",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The lateral track slows as Hyesu becomes visible at the center of the group, then the camera settles into a closer frontal angle.",
            "visual_focus": "the investigators gathered around the active crime scene"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Chest-height position about two meters in front of Hyesu, slightly off her front-left side, closing to an upper-body distance within the investigator group",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The push-in ends on Hyesu's fixed gesture, holding her as the command point of the scene.",
            "visual_focus": "Hyesu standing at the center of the investigators, pointing decisively in one direction"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Chest-height position near Hyesu's pointing line, angled away from her toward the area where officers are preparing to move the bodies",
            "stage_index": 4,
            "stage_label": "directional_reveal",
            "transition_to_next": "",
            "visual_focus": "the operational response in the direction indicated by Hyesu"
          }
        ],
        "flow_summary": "카메라는 폴리스 라인 안쪽의 시신 현장에서 출발해 현장을 따라 이동하며 형사 무리 속 혜수를 찾아 들어간다. 혜수의 굳은 표정과 지시하는 손짓에 밀착한 뒤, 그 손끝이 가리키는 방향으로 시선을 이어갈 수 있는 흐름이다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "Frame Hyesu as a firm upper-body composition, holding her extended index finger clearly within the frame while keeping the surrounding investigators compressed behind her.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "Very high aerial position above the foggy urban outskirts, looking downward from a distant bird's-eye height",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera cranes slowly downward and drifts forward, narrowing its attention from the surrounding neighborhood toward one old villa rooftop.",
            "visual_focus": "the misty outskirts and clusters of aging low-rise buildings"
          },
          {
            "camera_motion": "static",
            "camera_position": "High overhead position directly above the old villa rooftop room, at a quiet bird's-eye distance with the roof centered in frame",
            "stage_index": 2,
            "stage_label": "settled_observation",
            "transition_to_next": "",
            "visual_focus": "the worn rooftop room roof and the fog-softened surroundings"
          }
        ],
        "flow_summary": "카메라는 안개 낀 변두리의 높은 부감에서 천천히 내려와 오래된 빌라 옥탑방 지붕 위에 시선을 고정한다. 넓은 불안의 공간에서 특정한 지붕으로 조용히 수렴하는 흐름이다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "Maintain a calm, suspended overhead composition so the rooftop and foggy surroundings feel silently observed.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height between the kitchenette and the living area, starting near the sink counter and sliding laterally toward the small TV side of the room, about 1.8 meters from Minsuk's profile.",
            "stage_index": 1,
            "stage_label": "domestic_tension",
            "transition_to_next": "The camera continues its lateral slide past Minsuk's line of sight, then pans with her reaction as the room's attention shifts toward the bedroom door.",
            "visual_focus": "Minsuk's tense side profile fixed on the television glow, with the cramped living room and kitchen edges held in the same plane."
          },
          {
            "camera_motion": "pan",
            "camera_position": "Shoulder-height in the living area, slightly off the dining table axis, about 2 meters from the bedroom doorway and 1.5 meters from the table.",
            "stage_index": 2,
            "stage_label": "arrival_and_table_exchange",
            "transition_to_next": "A clean hard cut marks the time jump and relocates the camera to the entrance area while preserving the same intimate interior scale.",
            "visual_focus": "Suryoung emerging into the room and settling into the breakfast conversation as Minsuk covers her unease."
          },
          {
            "camera_motion": "static",
            "camera_position": "Near the entrance at chest height, close to the two women, about 0.8 meters from Suryoung's upper body and angled slightly over Minsuk's shoulder.",
            "stage_index": 3,
            "stage_label": "farewell_intimacy",
            "transition_to_next": "The camera eases downward and inward from the shoulder-level intimacy, following Suryoung's glance toward Minsuk's hand near the table surface.",
            "visual_focus": "Suryoung leaning into Minsuk's shoulder area, eyes closed, taking in her mother's scent before leaving."
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Low chest-to-table height beside the dining table, positioned as Suryoung's eyeline, about 40 centimeters from Minsuk's wrist resting on the tabletop.",
            "stage_index": 4,
            "stage_label": "mark_reveal",
            "transition_to_next": "",
            "visual_focus": "The small circular mark on Minsuk's wrist, isolated against the tabletop in a brief still moment."
          }
        ],
        "flow_summary": "카메라는 싱크대와 거실 사이의 좁은 생활 공간을 따라 민숙의 불안을 먼저 포착한 뒤, 수리영의 등장과 식탁 대화를 거쳐 시간 점프 후 현관 쪽의 다정한 작별로 이동한다. 마지막에는 수리영의 시선처럼 낮아지며 손목의 원형 표식을 조용히 드러낸다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "Hold a slightly tighter side angle than the stage default so the television itself is less important than Minsuk's fixed, dark expression.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "Compress the distance into a warm upper-body framing, letting Suryoung's closed eyes and the contact near Minsuk's shoulder dominate the frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 3
          },
          {
            "deviation_note": "Shift into a subjective eyeline insert and hold almost completely still at the end of the tilt to emphasize the unusually clear circular mark.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "On a low parallel tracking rig beside the coastal road, about 2 meters from the bicycle, lens at handlebar-to-chest height, moving at the same speed as the rider in a clean side profile.",
            "stage_index": 1,
            "stage_label": "establishing_motion",
            "transition_to_next": "The camera keeps pace with the bicycle, then glides slightly forward and inward on a shallow arc toward Suriyoung's front three-quarter side.",
            "visual_focus": "Suriyoung pedaling along the coastal road, with the sea breeze shaping the sense of speed and openness."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just ahead of the bicycle on the front three-quarter side, about 1 meter from Suriyoung, lens at upper-torso height, moving backward at matching speed as the bicycle advances.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Without cutting, the camera eases out of the push-in and lets the bicycle continue forward, holding her face as the surrounding sound begins to intrude.",
            "visual_focus": "Suriyoung seated on the bicycle saddle, wearing earphones, eyes closed into the sea wind with a bright, relaxed expression."
          },
          {
            "camera_motion": "pan",
            "camera_position": "Still traveling just ahead and slightly to the side of the bicycle, at upper-torso height and close distance, maintaining the moving road as background.",
            "stage_index": 3,
            "stage_label": "sound_attention",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's face and the forward path, while an offscreen dog bark subtly pulls attention beyond the frame."
          }
        ],
        "flow_summary": "카메라는 해안가 도로를 달리는 수리영과 나란히 이동하다가, 앞쪽 사선으로 부드럽게 파고들어 바닷바람을 맞는 얼굴과 상체를 가까이 관찰한다. 이후 컷 없이 같은 속도를 유지한 채 소리의 개입을 받아들이며 흐름을 이어간다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the framing to an upper-body composition while keeping the bicycle saddle implied; prioritize her closed eyes, earphones, wind on her face, and bright expression.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Low outside the kennel gate, about 3 feet from the bars at the Rottweiler's head height, angled slightly upward through the metal grid",
            "stage_index": 1,
            "stage_label": "establishing_pressure",
            "transition_to_next": "The camera tracks laterally along the kennel bars toward Suriyeong, letting the barking dog remain in the near foreground as the frame compresses toward her face.",
            "visual_focus": "the agitated Rottweiler behind the bars"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just outside the kennel, at Suriyeong's eye level, less than 1 foot from her face with the cage bars grazing the edge of frame",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "After the stare holds, the camera pivots and eases back along the same sightline through the bars, returning attention from Suriyeong's eyes to the dog's body on the kennel floor.",
            "visual_focus": "Suriyeong's unwavering eyes staring through the cage"
          },
          {
            "camera_motion": "track",
            "camera_position": "Outside the kennel, low near the floor and parallel to the cage, about 4 feet from the Rottweiler's full body",
            "stage_index": 3,
            "stage_label": "submission_reveal",
            "transition_to_next": "The camera continues drifting past the lowered dog toward the rear flank, setting up the doctor's practical intervention without breaking the spatial line.",
            "visual_focus": "the Rottweiler lying submissively on its belly with ears pinned back and tail tucked"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Still outside the kennel line at waist height, slightly behind the dog's rear quarter and angled toward the working area beside the cage",
            "stage_index": 4,
            "stage_label": "practical_followthrough",
            "transition_to_next": "",
            "visual_focus": "the doctor's quick treatment and the busy shelter work continuing around Suriyeong"
          }
        ],
        "flow_summary": "카메라는 철장 앞의 낮은 위치에서 사납게 날뛰는 개를 붙잡고 시작해, 같은 철장 라인을 따라 수리영의 눈으로 밀착한 뒤 다시 개의 몸으로 돌아오며 기세가 꺾이는 변화를 한 호흡으로 따라간다. 이후 낮아진 개의 뒤쪽과 보호원 작업 동선으로 자연스럽게 흘러가 다음 처치 장면을 준비한다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "Frame only the eye area, cropping out most of the face while keeping a faint vertical cage line at the edge to preserve the kennel spatial relationship.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Settle the tracking movement into a near-static hold so the dog's frozen, submissive posture reads clearly from ears to tucked tail.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Street-side curb position at pedestrian eye level, about 6 meters in front of Suriyeong, wide enough to include the bicycle, sidewalk traffic, neon signs, taxis, and food stalls behind her",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to move laterally with Suriyeong as she guides the bicycle toward the supermarket entrance, compressing the busy street into a forward approach.",
            "visual_focus": "Suriyeong standing with her bicycle in the neon-lit commercial street"
          },
          {
            "camera_motion": "track",
            "camera_position": "Shoulder-height tracking position just behind and slightly to the side of Suriyeong, moving from the entrance into the supermarket aisles at a distance of 1.5 to 2 meters",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues along the aisle, then pivots from Suriyeong and the female employee toward the stocking area where the male employee enters the exchange.",
            "visual_focus": "Suriyeong searching inside the supermarket and questioning the female employee"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Eye-level position in the supermarket aisle, about 2 meters from the male employee, squared toward the shelf line so his gesture toward the outside reads clearly",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "After the male employee indicates the outside, the camera lets the gesture motivate a turn back toward Suriyeong and tracks her movement out of the supermarket.",
            "visual_focus": "The male employee explaining that Minsuk was seen talking with someone outside"
          },
          {
            "camera_motion": "track",
            "camera_position": "Chest-height position moving from the supermarket doorway to the sidewalk outside, keeping about 1.5 meters from Suriyeong as the street noise and evening sky open back up around her",
            "stage_index": 4,
            "stage_label": "withdraw",
            "transition_to_next": "The camera eases to a stop in front of Suriyeong and tilts slightly upward with her gaze as the unanswered call shifts the scene from action to unease.",
            "visual_focus": "Suriyeong leaving the supermarket and trying to call her mother"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Chest-height medium-close position on the sidewalk outside the supermarket, about 1 meter in front of Suriyeong, angled slightly upward to include her face, phone, and the dusk sky",
            "stage_index": 5,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong alone with the phone to her ear, looking up toward the sky in confusion"
          }
        ],
        "flow_summary": "카메라는 네온이 켜진 거리의 넓은 시야에서 수리영을 포착한 뒤, 그녀를 따라 마트 안으로 들어가 질문과 단서를 따라 시선을 이동한다. 남자 직원의 바깥쪽을 가리키는 제스처를 전환점으로 삼아 다시 거리로 빠져나와, 연락이 닿지 않는 수리영의 불안을 하늘 쪽 시선으로 마무리한다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "Hold a wider full-body frame than the later stages, allowing the bicycle and neon street environment to dominate the opening composition.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Settle the pan into a frontal, slightly tighter framing so the extended pointing hand leads the viewer's eye toward the supermarket exterior.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten from the moving exit coverage into an upper-body frame and let the tilt follow her upward glance while keeping the phone visible at her ear.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low roadside position on the seaward side of the coastal road, about 12 meters from the cyclist's path, lens at handlebar height facing across the dark road toward the night sea",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suriyoung enters the road line, the camera begins a lateral track parallel to her movement, matching her speed while closing the distance slightly.",
            "visual_focus": "the empty coastal road against the dark night sea, preparing for the cyclist's arrival"
          },
          {
            "camera_motion": "track",
            "camera_position": "Parallel tracking position beside the bicycle, about 3 meters away at saddle height, perpendicular to the road direction with the night sea as the background",
            "stage_index": 2,
            "stage_label": "side_pursuit",
            "transition_to_next": "The camera maintains the lateral track for a few beats, then eases back and lets the bicycle move ahead into the darker stretch of road.",
            "visual_focus": "Suriyoung's side silhouette bent forward on the bicycle, one pedal driven down hard, hair blown backward by speed and wind"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Slightly behind and farther from the road edge, about 8 meters back at chest height, angled toward the receding bicycle and coastline",
            "stage_index": 3,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "the bicycle pulling away along the coastal road into the night"
          }
        ],
        "flow_summary": "카메라는 밤바다를 낀 해안도로를 낮은 위치에서 열고, 수리영이 프레임에 들어오면 옆으로 붙어 속도를 맞추며 달린다. 이후 그녀가 집으로 향해 멀어지는 방향으로 카메라가 서서히 물러나며 씬의 긴박한 이동감을 유지한다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "Frame the body and bicycle in a strong side silhouette, tightening just enough to catch the forceful downward pedal stroke and hair streaming backward while keeping the dark sea visible behind.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low ankle-height camera on the rooftop floor, starting beside the drying platform and moving toward the iron rooftop-room door from about 4 meters away",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The low track follows the line of the man's steps until his elongated shadow lands across the floor in front of the iron door, then settles closer to the threshold.",
            "visual_focus": "wind-blown dried herb leaves, the man's shoes, and his long shadow stretching toward the iron door"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low and tight outside the iron door, about 0.8 meters from the threshold and angled upward slightly toward the door gap",
            "stage_index": 2,
            "stage_label": "threshold_intrusion",
            "transition_to_next": "After the lock releases and the door opens slightly, a hard cut relocates the camera to the exterior window, carrying the sound of the opening door into the next view.",
            "visual_focus": "the flyer being forced into the door gap, the lock mechanism, and the narrow darkness beyond the opening"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the rooftop-room window at chest height, roughly 1.5 meters from the glass, squared to the reflective surface",
            "stage_index": 3,
            "stage_label": "reflected_reveal",
            "transition_to_next": "A sharp cut breaks from the reflected silhouette on the glass to a lower interior position on the floor, converting the suggestion of violence into a direct frozen view.",
            "visual_focus": "the dark reflected silhouette of the man looming over the woman inside the room"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Inside the dark rooftop room at floor height, about 1 meter from the fallen woman, slightly behind and to the side of the bent-over man",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "the man with his head buried against the fallen woman's shoulder"
          }
        ],
        "flow_summary": "카메라는 옥상 바닥을 낮게 따라가며 낯선 남자의 접근을 그림자와 문턱으로 압축하고, 문이 열린 뒤에는 창문 반사를 거쳐 실내 바닥의 폭력적인 정지 순간으로 점프한다. 전체 흐름은 얼굴을 숨긴 접근에서 실루엣의 위협, 그리고 바닥 가까이의 직접적인 충격으로 좁혀진다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "Frame the man's body only through the heavy elongated shadow on the floor; keep his face completely outside the image.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 1
          },
          {
            "deviation_note": "Hold the movement almost frozen at the moment his head is buried at her shoulder, tightening the handheld drift to a near-static, breathless pause.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low shoulder-height tracking position behind and slightly to the left of Suriyeong as she enters the villa yard from the alley, keeping a few meters of distance while moving toward the rear stairwell.",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera keeps moving with her momentum, narrowing the distance as she abandons the bicycle and heads directly toward the rooftop stairs.",
            "visual_focus": "Suriyeong rushing through the dark yard toward the rooftop access"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Tight trailing position on the steep rooftop stairs, about one meter behind Suriyeong at upper-body height, following her climb and then stopping abruptly when she reacts to the smell.",
            "stage_index": 2,
            "stage_label": "ascent_and_pause",
            "transition_to_next": "As Suriyeong stops and looks up, the camera rises behind her shoulder and shifts into her eyeline toward the rooftop landing.",
            "visual_focus": "Suriyeong halting on the stairs as the foul smell reaches her"
          },
          {
            "camera_motion": "static",
            "camera_position": "Suriyeong's eye-level point of view at the rooftop landing, roughly two meters from the half-open iron front door, centered on the gap into the dark interior.",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "A hard reverse cut jumps from her point of view to a close frontal angle beside the open iron door, turning the fear back onto her face.",
            "visual_focus": "the half-open iron front door and the pitch-black interior beyond it"
          },
          {
            "camera_motion": "static",
            "camera_position": "Very close frontal position just outside the open iron door, at Suriyeong's eye level and less than one meter from her face, with the doorway edge near frame.",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's frozen face and widened eyes"
          }
        ],
        "flow_summary": "카메라는 골목에서 옥탑으로 향하는 수리영의 급한 동선을 뒤따라 올라간 뒤, 냄새를 감지한 지점에서 그녀의 시선으로 미끄러져 반쯤 열린 철문을 응시한다. 이후 시점 쇼트에서 정면 클로즈업으로 컷해, 문 앞에 굳어버린 수리영의 공포를 붙잡는다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "Locked completely still to emphasize the point-of-view stare into the darkness beyond the half-open door.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighter facial framing than the stage default, isolating her widened eyes while keeping her frozen in front of the door.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the living room near the entrance, eye level, wide distance from the dining table and dim floor lamp",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera leaves the static living-room view and tracks toward the inner hallway, following Su-riyoung's search into the apartment.",
            "visual_focus": "the cooled pot, the turned-on television glow, and the overturned teacup on the dining table"
          },
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height just outside the bedroom doorway, slightly behind and beside Su-riyoung, medium distance from the closed door",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera crosses the threshold after the door opens, lowering slightly as it follows the blood marks across the floor toward the curtain.",
            "visual_focus": "Su-riyoung at the doorway, the door handle, and the first visible blood stains on the floor"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside Su-riyoung's room, waist height, several feet back from the room corner, looking past the pulled curtain toward the floor corner",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "After holding on the revealed body, the camera shifts off the corner and moves closer to Su-riyoung's side for her frozen reaction and retreat.",
            "visual_focus": "Minsuk's seated body slumped in the corner beneath the curtain line"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Near the bed side of the room, shoulder height, close to Su-riyoung but angled back toward the body",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "The camera drops from Su-riyoung's trembling phone hand and tracks along her line of attention toward the body's lowered hand.",
            "visual_focus": "Su-riyoung freezing, recoiling, and trying to call for help while the body remains in the background"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low near the floor beside the body, within arm's length of the slack hand, tight distance and slightly angled upward toward the fingers",
            "stage_index": 5,
            "stage_label": "close_observation",
            "transition_to_next": "The camera continues from the hand to the wrist, then tilts and pans upward toward the wall where the red circle begins to appear.",
            "visual_focus": "the crumpled paper photograph clenched inside the dead hand"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Beside the bed, low-to-mid height, close to the wall above the bed and still within the same bedroom space",
            "stage_index": 6,
            "stage_label": "supernatural_reveal",
            "transition_to_next": "",
            "visual_focus": "the red circular mark forming on the wall above the bed"
          }
        ],
        "flow_summary": "카메라는 거실의 불길한 정적에서 시작해 수리영의 동선을 따라 방 안으로 들어가고, 핏자국과 커튼을 거쳐 민숙의 시신을 드러낸다. 이후 충격에 멈춘 수리영 주변을 흔들리듯 맴돌다가 시신의 손에 쥔 사진으로 낮게 파고들며 초자연적 징후로 이어진다.",
        "scene_index": 12,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wide enough to include the entire seated body and the surrounding room corner, minimizing Su-riyoung's presence to preserve the first full reveal.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten from the stage's low position into an insert-like composition so the slack fingers and crumpled photograph dominate the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "On the narrow exterior stairway, slightly below eye level, two to three meters ahead of the descending figure, backing down toward the lower landing",
            "stage_index": 1,
            "stage_label": "panic_descent",
            "transition_to_next": "The camera continues backing down to the foot of the stairs, then swings its view toward the street as the siren and car door draw attention.",
            "visual_focus": "Suri-young stumbling down from the rooftop room stairs in panic"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At street level near the bottom of the stairs, chest height, angled between the open car door and the stair entrance",
            "stage_index": 2,
            "stage_label": "street_reveal",
            "transition_to_next": "As Hyesu recognizes Suri-young, the camera leaves the car side and tracks with Hyesu toward the dazed girl.",
            "visual_focus": "Hyesu by the open car door looking up and locating Suri-young"
          },
          {
            "camera_motion": "track",
            "camera_position": "Street-level walkway beside the stair entrance, eye level, moving laterally with Hyesu as she closes the last few steps toward Suri-young",
            "stage_index": 3,
            "stage_label": "approach",
            "transition_to_next": "The tracking movement compresses into a tight side angle as Hyesu stops directly in front of Suri-young.",
            "visual_focus": "Hyesu rushing into Suri-young's personal space and confronting her fear"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight side two-shot at face height, less than one meter from both women, perpendicular to their eyeline near the stair entrance",
            "stage_index": 4,
            "stage_label": "close_observation_reaction",
            "transition_to_next": "On Hyesu's shock, the camera releases the static hold and pivots toward the stairs as the urgency redirects upward.",
            "visual_focus": "Hyesu and Suri-young face to face, Suri-young confessing and Hyesu absorbing the news"
          },
          {
            "camera_motion": "track",
            "camera_position": "At the first steps of the exterior stairway, waist to chest height, retreating upward just ahead of the two investigators",
            "stage_index": 5,
            "stage_label": "upstairs_pursuit",
            "transition_to_next": "",
            "visual_focus": "Hyesu and Kim detective sprinting up the steep stairs toward the rooftop room"
          }
        ],
        "flow_summary": "카메라는 옥탑 계단을 내려오는 수리영의 패닉을 따라 거리 레벨까지 물러난 뒤, 차 옆의 혜수를 발견하고 그녀와 함께 수리영에게 달려간다. 두 사람의 얼굴이 맞붙는 측면 클로즈에서 고백과 충격을 붙잡은 뒤, 다시 계단 위로 방향을 틀어 혜수와 김형사의 돌진으로 이어진다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "Frame as a tight side profile two-shot with Hyesu positioned very close to Suri-young, emphasizing the compressed distance between their faces.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          },
          {
            "deviation_note": "Hold the same side axis but tighten slightly on the frozen instant: Suri-young's open mouth remains in frame while Hyesu's widened eyes become the emotional peak.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Just inside the rooftop room entrance, at shoulder height, about 8 feet from the open bedroom door, looking past the investigators into the apartment interior.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks forward past Hyesu and Detective Kim, following Suriyoung's sudden movement toward the bedroom doorway.",
            "visual_focus": "Hyesu, Detective Kim, and the open path toward Suriyoung's room"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At the bedroom threshold, eye level, about 10 feet from the bed, centered on the bed and the curtain wall with enough width to include the empty space where something should have been.",
            "stage_index": 2,
            "stage_label": "reveal_absence",
            "transition_to_next": "The dolly-in continues a few feet into the room, then the camera pivots toward Suriyoung as her reaction becomes the focus.",
            "visual_focus": "the spotless bed, the clean floor, and the empty space in front of the curtain"
          },
          {
            "camera_motion": "static",
            "camera_position": "Inside the bedroom near the foot of the bed, chest height, about 4 feet from Suriyoung at a three-quarter frontal angle, with the empty part of the room still implied in her eyeline.",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "As Suriyoung breaks away toward the dining table, the camera pulls back and tracks after her through the doorway.",
            "visual_focus": "Suriyoung's pale, stunned face and her fixed stare toward the vanished evidence"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving from the bedroom doorway into the main room at waist-to-chest height, keeping close to Suriyoung's side and ending near the dining table edge.",
            "stage_index": 4,
            "stage_label": "follow_to_table",
            "transition_to_next": "After the confrontation at the clean table and the adults' exchange, a hard cut jumps back into the bedroom for a quiet detail.",
            "visual_focus": "Suriyoung at the clean dining table, then Hyesu and Detective Kim reacting around her"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low and close beside the bed, about 2 feet from the objects on it, angled slightly downward in a still-life composition.",
            "stage_index": 5,
            "stage_label": "withdraw_still_life",
            "transition_to_next": "",
            "visual_focus": "the backpack and doll resting in subtly altered positions on the bed"
          }
        ],
        "flow_summary": "카메라는 현관 쪽에서 방 안으로 밀고 들어가며 사라진 증거의 빈자리를 먼저 드러낸 뒤, 그 부재를 바라보는 수리영의 반응으로 좁혀 들어간다. 이후 수리영을 따라 식탁 쪽으로 빠져나갔다가, 마지막에는 다시 방 안의 정물로 돌아와 미세하게 달라진 흔적을 남긴다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame at the widest, most symmetrical point of the dolly-in so the clean bed and empty curtain area dominate before Suriyoung enters the emphasis.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten slightly from the stage default to an upper-body framing, keeping Suriyoung's eyeline aimed toward the empty space just off frame.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At seated eye level beside the coastal bus-stop bench, about 6 feet from Suriyeong's side, angled across her profile toward the dark sea beyond.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow lateral track along the bench line as Hyesu enters the edge of the frame with the drink, keeping the sea-facing axis intact.",
            "visual_focus": "Suriyeong's unfocused profile against the night sea"
          },
          {
            "camera_motion": "track",
            "camera_position": "Close to the bench at standing waist-to-chest height, slightly forward of Suriyeong and Hyesu, within arm's reach of the drink exchange.",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "As Suriyeong rises and moves away, the camera pans and tracks off her movement, then settles back onto Hyesu for the reaction.",
            "visual_focus": "Hyesu approaching Suriyeong, the offered drink, and Suriyeong preparing to leave"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Hyesu's eye level near the bus stop, starting in a medium distance and pushing into a tight frontal three-quarter position as she calls after Suriyeong.",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "A hard cut jumps the viewpoint away from the bus stop to a concealed distant position in the dark bushes, explicitly breaking the physical camera path into an observer's POV.",
            "visual_focus": "Hyesu shouting toward Suriyeong as Suriyeong runs off"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Far back inside dark roadside bushes, low standing height, roughly 100 feet from the bus stop, with branches partially between the lens and the figures.",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The small silhouettes of Hyesu and Suriyeong near the coastal bus stop, seen as if watched by someone hidden"
          }
        ],
        "flow_summary": "카메라는 처음엔 벤치 옆에서 수리영의 멍한 측면을 붙잡고, 혜수의 접근과 수리영의 이탈을 따라가며 혜수의 외침까지 점점 가까워진다. 마지막에는 물리적 이동이 아닌 컷으로 어두운 수풀 속 먼 시점으로 점프해, 두 사람을 누군가 지켜보고 있었다는 감각으로 마무리한다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "Hold the side profile cleanly, with Suriyeong's gaze drifting toward the sea and minimal camera movement.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Push tighter than the stage default into a face close-up, emphasizing Hyesu's strained neck and open mouth while the background drops soft.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Frame through dark foliage so Hyesu and Suriyeong remain very small silhouettes, making the shot feel like a hidden observer's point of view.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the police office doorway at standing eye level, about 10 feet from the duty desk, moving behind and slightly to the side of Hyesu as she enters",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera continues forward with Hyesu toward the duty desk, lowering slightly to align with the seated detective's face line.",
            "visual_focus": "Hyesu on the phone, her tense posture, and the lone duty desk ahead"
          },
          {
            "camera_motion": "static",
            "camera_position": "Beside the duty desk at seated eye level, close enough that Hyesu's raised smartphone fills the foreground inches in front of Detective Kim's face",
            "stage_index": 2,
            "stage_label": "evidence_confrontation",
            "transition_to_next": "The camera pans off the phone and Detective Kim's face toward his side profile as he reacts from the chair.",
            "visual_focus": "Hyesu's smartphone screen held up to Detective Kim and his immediate reaction"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At the desk corner, shoulder height, angled across Detective Kim's seated profile toward Hyesu standing beyond him",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "The camera completes the pan past Detective Kim and tracks around the desk edge toward Hyesu, tightening the distance to her face.",
            "visual_focus": "Detective Kim's doubtful look while Hyesu remains tense in the background"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "In front of Hyesu at close head height, about 3 feet away, compressing the office background behind her",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu's fixed stare, tightened lips, and growing dread"
          }
        ],
        "flow_summary": "카메라는 사무실 입구에서 혜수를 따라 김형사의 책상까지 접근한 뒤, 스마트폰을 들이미는 순간에 멈춰 긴장을 고정한다. 이후 김형사의 반응을 스치듯 지나 다시 혜수의 얼굴로 파고들며 불길한 예감을 클로즈업으로 수렴시킨다.",
        "scene_index": 16,
        "shot_assignments": [
          {
            "deviation_note": "Hold completely still to emphasize the smartphone being pushed into Detective Kim's personal space.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "The dolly-in resolves into a locked close-up as Hyesu stares into empty space, with the background falling out of attention.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "On the opposite rooftop edge at eye level, wide distance across the narrow rooftop gap, facing the lit rooftop room window through low dawn fog",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera holds the wide view, then begins a slow lateral track toward the parapet line to follow the source of the offscreen cat sound.",
            "visual_focus": "the rooftop room window leaking warm yellow light into the pale fog"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low along the cement parapet, about knee height and a few feet from the wall, angled toward the lit rooftop room window",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues tracking along the parapet until the wall edge crosses the frame, preparing the cat's movement over the boundary.",
            "visual_focus": "the parapet leading toward the illuminated rooftop room window"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Close to the parapet at low height, just inside the rooftop boundary, looking upward toward the wall top and the misty sky beyond",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "the wall top and the empty space above it where a cat could leap across"
          }
        ],
        "flow_summary": "카메라는 안개 낀 새벽의 옥탑방 창문을 멀리서 정적으로 바라본 뒤, 고양이 울음소리를 따라 담장 쪽으로 낮게 이동한다. 이후 담장 위와 그 너머의 빈 공간을 향해 시선을 올리며 고양이의 등장을 예고하는 흐름으로 이어진다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly longer on the warm window glow and dawn fog before any movement begins, keeping the cat offscreen.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Inside the bedroom, low at bed height near the foot of the bed, about 6 feet from Suriyoung, angled toward her against the headboard and then drifting toward the open room.",
            "stage_index": 1,
            "stage_label": "awakening_establishing",
            "transition_to_next": "The camera follows Suriyoung's anxious movement out from the bed area, tracking with her line of sight toward the closed door and the rest of the room.",
            "visual_focus": "Suriyoung waking in fear and scanning the quiet bedroom"
          },
          {
            "camera_motion": "track",
            "camera_position": "Shoulder-height beside and slightly behind Suriyoung as she moves between the bedroom door, the empty window, and the ringing phone, keeping a narrow domestic corridor of vision around her.",
            "stage_index": 2,
            "stage_label": "search_and_phone",
            "transition_to_next": "After the phone call and the decision to leave, the camera stays with Suriyoung and tracks her out of the bedroom path toward the bathroom sink.",
            "visual_focus": "Suriyoung searching for signs of her mother, reacting to the phone, and preparing herself to go out"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the bathroom, chest-height near the sink counter, initially over Suriyoung's side and then pushing toward the mirror surface from about 3 feet away to an extreme close distance.",
            "stage_index": 3,
            "stage_label": "mirror_hallucination",
            "transition_to_next": "As Suriyoung turns from the vanished mark, the camera pulls off the mirror line and tracks quickly behind her through the bathroom doorway into the living room.",
            "visual_focus": "the bathroom mirror reflection where a red circular mark appears behind Suriyoung"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "In the living room at dining-table height, very close to the framed photograph on the table, angled down slightly so the glossy photo surface fills the frame.",
            "stage_index": 4,
            "stage_label": "photo_reveal",
            "transition_to_next": "The camera snaps upward from the photograph's surface toward Suriyoung's face as her scream breaks, keeping the table edge as the pivot point.",
            "visual_focus": "the framed photograph of Suriyoung and her mother as the smiling faces distort unnaturally"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "At the dining table edge, close to Suriyoung's face at eye level, less than 2 feet away, with slight tremor matching her panic.",
            "stage_index": 5,
            "stage_label": "panic_reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's face frozen in terror as she screams and tries to regain control"
          }
        ],
        "flow_summary": "카메라는 안방의 불안한 정적에서 수리영의 동선을 따라 욕실과 거실로 점점 밀착 이동하며, 공간이 바뀔수록 시선도 인물보다 불길한 표면들에 가까워진다. 거울의 붉은 원, 식탁 위 사진의 왜곡, 수리영의 비명 얼굴로 이어지는 흐름은 하나의 추적 동선 위에서 공포의 초점을 단계적으로 좁힌다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "The moving push-in settles into a brief locked-off instant so the red circular mark can read clearly on the mirror surface.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 3
          },
          {
            "deviation_note": "Frame is tightened to an extreme close-up of the photograph surface, excluding most of the surrounding table to emphasize the grotesque distortion.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 4
          },
          {
            "deviation_note": "The upward snap from the table lands slightly off-center on Suriyoung's face, using handheld shake to heighten the shock.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the quiet supermarket near the entrance, eye level, medium-wide distance from the front aisle and parked bicycle area",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to move with Suriyeong deeper into the aisles, keeping the store layout continuous.",
            "visual_focus": "Suriyeong entering and scanning the quiet supermarket interior"
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside the aisle area, eye level, about 1.5 meters from Suriyeong and the male employee, moving parallel to the shelves",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera settles closer to the conversation line, shifting attention from Suriyeong’s questions to the employee’s response.",
            "visual_focus": "Suriyeong questioning the male employee face to face"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Inside the supermarket near the front window, chest height, slightly beside Suriyeong and facing the male employee at medium distance",
            "stage_index": 3,
            "stage_label": "directional_reveal",
            "transition_to_next": "The camera follows the employee’s pointing arm toward the exterior window, then cuts across the same sightline to the outside wall.",
            "visual_focus": "The male employee extending one arm toward the window and indicating the possible CCTV direction"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Outside the supermarket under the exterior eaves, chest height, close medium distance in front of Suriyeong, angled slightly upward toward the wall-mounted CCTV",
            "stage_index": 4,
            "stage_label": "exterior_confirmation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong looking up toward the old CCTV camera fixed under the building eaves"
          }
        ],
        "flow_summary": "카메라는 한산한 마트 입구에서 시작해 수리영을 따라 직원과의 대화 지점으로 들어가고, 직원의 손짓을 따라 창밖 방향으로 시선을 넘긴다. 이후 같은 시선축을 유지한 채 마트 밖으로 컷 전환되어, 처마 아래 CCTV를 확인하는 수리영에게 도달한다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "Hold the pan at the instant his arm reaches full extension, making the gesture feel like a frozen directional clue.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Frame tighter on Suriyeong’s upper body while keeping the upward angle implied toward the CCTV above her eyeline.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the general affairs office, slightly behind and above the desk line at seated eye height, about 8 feet from the monitor, facing the desk head-on so the monitor, the security employee, Hyesu, and Suriyoung behind them are held in one frame.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow dolly forward toward the desk and monitor, narrowing the group composition into the act of reviewing the footage.",
            "visual_focus": "The security employee and Hyesu seated at the monitor, with Suriyoung standing tense behind them and watching the screen."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Closer to the desk, just off the monitor side at seated eye height, about 4 feet from the security employee and Hyesu, angled so the employee's profile and the monitor dominate the foreground.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As the footage proves unclear, the camera eases past the monitor edge and pans toward the space behind the seated pair.",
            "visual_focus": "The security employee studying the CCTV playback and the monitor area where the image is too dark to identify clearly."
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near the side of the desk at chest height, still close to the monitor line but rotating away from the screen toward the back of the room.",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "The camera continues its movement in a small track around the front corner of the desk, shifting attention from Suriyoung's anxiety to Hyesu's decision to address the employee.",
            "visual_focus": "Suriyoung standing behind the seated pair, visibly anxious as the repeated playback fails to reveal enough detail."
          },
          {
            "camera_motion": "static",
            "camera_position": "At the front corner of the desk, chest height, about 3 feet from Hyesu, angled across her upper body toward the security employee seated just off-frame or at the frame edge.",
            "stage_index": 4,
            "stage_label": "request",
            "transition_to_next": "",
            "visual_focus": "Hyesu stopping with a firm expression and one open palm extended toward the security employee as she asks to take the CCTV footage."
          }
        ],
        "flow_summary": "카메라는 총무과 책상 앞의 세 사람을 한 프레임에 잡는 넓은 위치에서 시작해 CCTV 화면으로 다가간 뒤, 불안해지는 수리영을 스치듯 확인하고 다시 혜수 쪽으로 돌아온다. 마지막에는 책상 모서리 앞에서 멈춰 혜수가 보안직원에게 자료를 요구하는 순간을 고정해 긴장을 수렴시킨다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Frame slightly tighter on Hyesu's upper body and extended open palm, keeping the security employee's receiving side implied by her eyeline and hand direction.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At chest height, about 2.5 meters in front of Suryoung across Hyesu's desk, centered in the now-empty police office with the exit and abandoned workstations receding behind her.",
            "stage_index": 1,
            "stage_label": "solitude_establishing",
            "transition_to_next": "The camera begins a slow lateral move around the edge of Hyesu's desk, lowering slightly toward the tabletop as Suryoung's attention drops to the materials in front of her.",
            "visual_focus": "Suryoung sitting alone at Hyesu's desk in the emptied office"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low at desk height, close to Hyesu's desktop, moving from Suryoung's front-left toward her shoulder line while staying within arm's reach of the scattered case materials.",
            "stage_index": 2,
            "stage_label": "desk_observation",
            "transition_to_next": "The track continues past Suryoung's shoulder and pivots toward the opposite desk as the monitor sound redirects attention across the aisle.",
            "visual_focus": "the disturbing case photographs on the desk and Suryoung's silent reaction"
          },
          {
            "camera_motion": "pan",
            "camera_position": "In the narrow aisle between the two desks, just above desk height, angled from Suryoung's side toward Kim Detective's empty workstation across from her.",
            "stage_index": 3,
            "stage_label": "notification_reveal",
            "transition_to_next": "The camera commits to the opposite desk and moves straight toward the glowing monitor, closing the distance until the screen fills the frame.",
            "visual_focus": "Kim Detective's unattended monitor with a new alert visible on the screen"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly in front of the monitor at near-macro distance, lens square to the glass surface so the map, red point, and coordinate text dominate the frame.",
            "stage_index": 4,
            "stage_label": "data_reveal",
            "transition_to_next": "The camera slides off the monitor edge and tracks down to Suryoung's hands, following the action from the copied coordinates toward the place where she hides the note.",
            "visual_focus": "the black sea map, red location marker, and GPS coordinate numbers on the monitor"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height beside Suryoung, extremely close to her hand, positioned slightly forward of her right side and aimed down toward the pocket opening.",
            "stage_index": 5,
            "stage_label": "concealment",
            "transition_to_next": "",
            "visual_focus": "Suryoung's hand pushing the folded memo into her pocket and freezing there"
          }
        ],
        "flow_summary": "카메라는 사람들이 빠져나간 사무실의 고요함에서 수리영을 정면으로 붙잡고, 책상 위 단서와 맞은편 모니터를 향해 낮게 이동하며 긴장을 좁혀간다. GPS 좌표가 드러난 뒤에는 수리영의 손을 따라 내려가 메모를 숨기는 순간에 멈춘다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 1
          },
          {
            "deviation_note": "단계의 돌리 인이 끝나는 지점에서 완전히 정지한 듯 화면 표면을 평면적으로 잡아 좌표 숫자가 가장 선명하게 보이게 한다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 4
          },
          {
            "deviation_note": "손과 접힌 메모, 주머니 입구만 남기도록 더 타이트하게 압축하고 주변 사무실 정보는 흐리게 처리한다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the edge of the asphalt forecourt in front of the police station, low waist height, about 5 meters from the parked bicycle, oriented in profile to the building frontage",
            "stage_index": 1,
            "stage_label": "establishing_launch",
            "transition_to_next": "As Su-riyoung begins to push off, the camera pivots slightly to keep her side profile centered, then starts moving parallel to her path.",
            "visual_focus": "Su-riyoung mounting and initiating movement on the bicycle against the police station exterior"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low side-tracking position on the asphalt, about 2 meters from Su-riyoung and the bicycle, lens height near the bicycle saddle, moving parallel to her direction of travel",
            "stage_index": 2,
            "stage_label": "side_acceleration",
            "transition_to_next": "",
            "visual_focus": "Su-riyoung driving one pedal downward and leaning forward as the bicycle accelerates"
          }
        ],
        "flow_summary": "카메라는 경찰서 앞 아스팔트 가장자리에서 수리영의 출발을 측면으로 잡은 뒤, 그녀가 자전거를 밀고 나가는 순간 같은 방향으로 붙어 달린다. 정지 관찰에서 저각도 측면 트래킹으로 이어지며 출발의 힘과 속도를 강조한다.",
        "scene_index": 22,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame at the instant her hips lift off the saddle and her body folds forward, keeping the bicycle’s side profile dominant while allowing hair movement to read against the direction of travel.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the dim PC room, at seated head height about 1.6 meters behind and slightly to the right of Suri-young, looking past her shoulder toward the monitor desk",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow push along the desk line toward Suri-young's face, narrowing the space between her and the monitor glow.",
            "visual_focus": "Suri-young seated motionless at the computer, her hand near the mouse and the monitor as the main light source"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Suri-young's eye level, very close to the screen-side of her face, about 25 centimeters away, angled to catch her fixed gaze toward the monitor",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera tilts and tracks downward from her eyes to the desk surface, following the action toward the printed maps.",
            "visual_focus": "Suri-young's hardened eyes staring intensely at the coastal map on the monitor"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Close over the desk at hand height, roughly 40 centimeters above the surface, positioned between Suri-young and the keyboard area",
            "stage_index": 3,
            "stage_label": "task_follow",
            "transition_to_next": "",
            "visual_focus": "Suri-young's hands handling the printed maps and moving them toward the open backpack"
          }
        ],
        "flow_summary": "카메라는 어두운 PC방의 자리 뒤편에서 시작해 모니터 빛을 따라 수리영의 얼굴로 천천히 밀고 들어간다. 이후 시선의 긴장감에서 손의 행동으로 내려가며 지도와 백팩으로 흐름을 이어간다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter than the stage default, isolating only the tense eye area while the coastal map is implied through monitor glow and her unwavering eye line.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "High and wide above the coastal road, roughly 25 feet up and set back toward the shoreline, looking down the rain-lashed road under heavy clouds",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera descends from the high coastal view and begins to align with the road axis as the bicycle enters the stormy stretch.",
            "visual_focus": "storm clouds, lightning over the coastal road, and the empty wet roadway being swallowed by rain"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low front three-quarter position beside the moving bicycle, about chest height and 4 feet from Suriyeong, traveling backward at her speed along the road",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The tracking move shifts inward and forward until the camera settles directly in front of Suriyeong’s face.",
            "visual_focus": "Suriyeong leaning into the rain while gripping the bicycle handlebar and riding forward"
          },
          {
            "camera_motion": "track",
            "camera_position": "Directly in front of the moving bicycle at face height, less than 2 feet from Suriyeong, tracking backward in a tight head-on alignment",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera breaks the facial lock by tilting downward along the bicycle line toward the front wheel and wet asphalt.",
            "visual_focus": "Suriyeong’s rain-covered face and sharp forward stare"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Very low near the asphalt in front of the bicycle path, about 1 foot above the road surface and close to the front wheel line",
            "stage_index": 4,
            "stage_label": "impact_detail",
            "transition_to_next": "",
            "visual_focus": "heavy raindrops striking the asphalt as the bicycle front wheel reaches the wet road surface"
          }
        ],
        "flow_summary": "카메라는 폭풍이 몰아치는 해안 도로의 높은 전경에서 시작해 빗속을 달리는 수리영에게 낮게 접근한 뒤, 정면 얼굴 클로즈업으로 밀착한다. 이후 시선은 얼굴에서 자전거와 젖은 아스팔트로 떨어지며 긴박한 주행의 압력을 이어간다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the framing to an intense close-up so that rain beads on Suriyeong’s face and her fixed forward stare dominate the frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the rooftop room near the entrance, low at knee height, about 1 meter from the floor, moving slowly past the disturbed living area toward the bedroom corridor",
            "stage_index": 1,
            "stage_label": "establishing_disorder",
            "transition_to_next": "The camera continues its forward track from the messy living area and aligns with the open bedroom doorway, raising the sightline slightly to eye level.",
            "visual_focus": "muddy footprints, overturned furniture, the open window, and the path of intrusion through the room"
          },
          {
            "camera_motion": "static",
            "camera_position": "Just outside Suriyoung's open bedroom door, eye level, 2 to 3 meters from the far wall, using the doorway as a frame",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "The camera begins a slow dolly through the doorway toward the wall, narrowing attention from the room to the marked surface.",
            "visual_focus": "the red circular mark on Suriyoung's bedroom wall and the photograph pinned at its center"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the bedroom, chest height, moving from the doorway to within arm's length of the wall",
            "stage_index": 3,
            "stage_label": "approach_evidence",
            "transition_to_next": "A precise cut jumps from the wall approach to an extreme close inspection of the photograph's surface.",
            "visual_focus": "the pinned, blood-marked photograph being taken from the center of the red circle"
          },
          {
            "camera_motion": "static",
            "camera_position": "Extreme close-up above the photograph, nearly parallel to its surface, only a few centimeters away",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "Cut back out of the insert to rejoin Suriyoung's physical space, then the camera withdraws with her movement toward the exit.",
            "visual_focus": "the old printed image of a rural restaurant with a circular sign on the roof and two Korean teenage girls seated in front"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind Suriyoung at shoulder height in the main room, 2 meters back, facing toward the open front door",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's back as she stands with a backpack, gripping the crumpled photograph and facing the open doorway"
          }
        ],
        "flow_summary": "카메라는 난장판이 된 옥탑방 입구에서 시작해 수리영의 방 문턱까지 서서히 들어가며 붉은 원과 사진을 발견한다. 사진 표면으로 한 번 급격히 좁혀진 뒤, 다시 수리영의 뒤로 물러나 열린 현관문을 향한 탈출 동선으로 마무리된다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "Hold the doorway framing long enough for the red circular mark to read clearly before the later approach begins.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Flatten the angle to make the photograph fill the frame, emphasizing the roof's circular sign and the two girls rather than the hand holding it.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 4
          },
          {
            "deviation_note": "Settle slightly farther back than the stage default to include the open door, Suriyoung's full back silhouette, the backpack, and the clenched photograph in one frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide on the empty harbor mouth at eye level, set back from the wet pier with fog filling the waterline and the dock stretching into the frame.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to track along the pier edge toward the rocks, following the line of the harbor into the fog.",
            "visual_focus": "the fog-covered empty harbor and the absence of visible boats"
          },
          {
            "camera_motion": "track",
            "camera_position": "Lateral tracking position beside the wet rocks, waist height, moving from Su-ri-young seated near the water toward the pier as the boat shape emerges ahead.",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The track continues forward with Su-ri-young as she leaves the rocks and approaches the mooring area beside the arriving boat.",
            "visual_focus": "Su-ri-young moving from the rocks toward the boat appearing through the fog"
          },
          {
            "camera_motion": "static",
            "camera_position": "On the dock beside the thick mooring rope, knee-high to waist-high, about 10 feet from Su-ri-young, angled slightly upward toward the boat and mooring post.",
            "stage_index": 3,
            "stage_label": "dock_encounter",
            "transition_to_next": "The camera slowly pushes in from the rope-side full-body view, tightening toward Su-ri-young as her request becomes more urgent.",
            "visual_focus": "Su-ri-young stopped near the rope, looking up toward Inwoo by the boat"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Closer on the dock in front of Su-ri-young at chest height, about 4 feet away, with Inwoo held just off her eyeline beyond camera.",
            "stage_index": 4,
            "stage_label": "plea_close_observation",
            "transition_to_next": "After holding on her plea, the camera eases past her shoulder toward the foggy water, preparing the later turn back to the sea and phone message.",
            "visual_focus": "Su-ri-young clasping her hands and pleading toward Inwoo"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At the pier edge beside Su-ri-young, shoulder height, oriented from her profile toward the foggy sea beyond the boat.",
            "stage_index": 5,
            "stage_label": "withdraw_to_sea",
            "transition_to_next": "",
            "visual_focus": "Su-ri-young facing the fog-covered water before leaving the harbor"
          }
        ],
        "flow_summary": "카메라는 안개 낀 빈 포구의 넓은 거리감에서 시작해 수리영의 이동을 따라 선착장 밧줄 부근까지 접근하고, 인우를 향한 부탁이 절박해질수록 수리영의 몸과 얼굴 쪽으로 서서히 조여 들어간다. 이후 시선은 다시 바다 쪽으로 빠지며, 떠나기 전 남기는 메시지의 정적을 준비한다.",
        "scene_index": 26,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wide enough to include her full body and the rope area, with a slight upward angle emphasizing that she is looking up at Inwoo.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten to an upper-body framing and let the hands clasped at her chest become the lower anchor of the composition.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the dark rooftop room, at Hyesu's eye level, extremely close in front of her face and slightly toward the smartphone side, about one foot away.",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera eases backward and tracks slightly to the side, opening the frame from Hyesu's frozen face toward the space where Kim detective stands.",
            "visual_focus": "Hyesu's tense face, wide eyes, and the smartphone pressed close to her ear"
          },
          {
            "camera_motion": "track",
            "camera_position": "A few steps back in the living room, shoulder height, positioned between Hyesu and Kim detective with enough lateral space to follow their exchange.",
            "stage_index": 2,
            "stage_label": "confrontation",
            "transition_to_next": "As the wind and metal-door rattle begin, the camera leaves the two figures and tracks past them toward the entrance, letting their presence fall behind the frame.",
            "visual_focus": "The uneasy exchange between Hyesu and Kim detective in the dim room"
          },
          {
            "camera_motion": "track",
            "camera_position": "Midway across the rooftop room, slightly below eye level, moving from the living area toward the entrance and aligning with the half-open iron door.",
            "stage_index": 3,
            "stage_label": "sound_pull",
            "transition_to_next": "The camera finishes the move by settling into a locked low position just inside the entrance, aimed directly at the door for the impact beat.",
            "visual_focus": "The dark entrance area and the half-open rusty iron door responding to the wind"
          },
          {
            "camera_motion": "static",
            "camera_position": "Just inside the rooftop room entrance, low chest height, about four feet from the rusty iron door, facing it squarely from the room side.",
            "stage_index": 4,
            "stage_label": "door_reveal",
            "transition_to_next": "",
            "visual_focus": "The rusty iron door jerking inward for a brief frozen instant under the force of the wind"
          }
        ],
        "flow_summary": "카메라는 혜수의 얼어붙은 얼굴에서 시작해 두 사람의 불안한 대화를 지나, 바람 소리에 이끌리듯 현관 쪽으로 이동한다. 마지막에는 낮고 고정된 위치에서 녹슨 철문이 안쪽으로 덜컹 꺾이는 순간을 붙잡아 황량함을 강조한다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter than the stage default, isolating Hyesu's face and the smartphone while keeping the background nearly swallowed by darkness.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Hold precisely on the instant the slightly open iron door snaps inward; no character presence is included in the frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide low position on the open deck, about 10 feet from Suriyoung and Inwoo, seated eye-level, looking diagonally across the deck with the sunset sea behind the small fishing boat",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow push along the deck toward the space between Suriyoung's extended hand and Inwoo's seated position.",
            "visual_focus": "Suriyoung holding out a paper map toward Inwoo on the deck"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Closer deck-level position between the two characters, about 4 feet from Inwoo and slightly offset beside Suriyoung's extended arm",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues forward and slightly arcs to align with Inwoo's eye-line as the object of attention changes from the map to the photograph.",
            "visual_focus": "Inwoo examining the offered map while Suriyoung presses for an answer"
          },
          {
            "camera_motion": "track",
            "camera_position": "Tight over-the-hand position near Inwoo's eye-line, about 2 feet from his face, with Suriyoung's hand entering the foreground",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "The camera slides past the photograph and pushes into Inwoo's face, letting the photograph remain just off his eye-line.",
            "visual_focus": "The old black-and-white photograph being presented directly in front of Inwoo"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight frontal close-up position at Inwoo's seated eye level, about 18 inches from his face, centered on his reaction",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "The camera pulls its attention off his face and prepares to follow his sudden rise toward the wheelhouse.",
            "visual_focus": "Inwoo's shocked face as he recognizes something in the photograph"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Deck-level moving position behind and slightly to the side of Inwoo, leaving the seated area and facing toward the wheelhouse entrance",
            "stage_index": 5,
            "stage_label": "transition_to_action",
            "transition_to_next": "",
            "visual_focus": "Inwoo breaking away toward the wheelhouse as Suriyoung reacts and follows"
          }
        ],
        "flow_summary": "카메라는 해질 무렵 갑판의 넓은 거리에서 수리영과 인우의 대치 구도를 잡은 뒤, 지도와 사진이 오가는 손의 동선을 따라 점점 인우의 얼굴로 밀고 들어간다. 인우의 당황한 반응을 포착한 후에는 조타실로 튀어 나가려는 움직임을 따라갈 준비를 하며 긴장을 행동으로 전환한다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame as a still, tense tableau before the forward movement begins.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Frame tighter than the stage default, excluding most of the photograph so the panic is carried by Inwoo's eyes and open mouth.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the wheelhouse, at Suri-young's eye height, tight behind Inwoo's shoulder, about 2 feet from his back, looking past him toward the old interior wall.",
            "stage_index": 1,
            "stage_label": "reveal",
            "transition_to_next": "The camera creeps forward along the same sightline, letting Inwoo's shoulder fall softer in the foreground as the red circular marks on the wall become the dominant point of attention.",
            "visual_focus": "the red circular patterns covering the old wall beyond Inwoo's pale shoulder"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Still on the same axis from behind Inwoo, now closer to the wall side of the wheelhouse, lens slightly above shoulder height and compressed toward one red circular mark.",
            "stage_index": 2,
            "stage_label": "ominous_detail",
            "transition_to_next": "A hard cut resets the camera to the opposite side of Inwoo, preserving the emotional continuity from the wall reveal to his reaction rather than a physical move through the cramped space.",
            "visual_focus": "one red circular mark among many on the wall"
          },
          {
            "camera_motion": "static",
            "camera_position": "Directly in front of Inwoo at upper-chest height, about 3 feet away, centered on his face while Suri-young remains just off the lens line.",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "The camera tilts and slides slightly down toward the contact point between the two bodies as Suri-young loses strength and falls into Inwoo.",
            "visual_focus": "Inwoo's blank, frightening stare fixed on Suri-young"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Tight beside Inwoo's shoulder at shoulder height, within 2 feet of both characters, angled to hold Suri-young's head resting against him in a frozen close two-shot.",
            "stage_index": 4,
            "stage_label": "collapse",
            "transition_to_next": "",
            "visual_focus": "Suri-young's head stopped on Inwoo's shoulder"
          }
        ],
        "flow_summary": "카메라는 수리영의 시선처럼 인우의 어깨 너머 벽의 붉은 원을 발견한 뒤, 그 불길한 단서를 인우의 무표정한 정면으로 연결한다. 마지막에는 수리영이 힘을 잃고 인우의 어깨에 쓰러지는 지점까지 낮고 가까이 따라붙어 정지한다.",
        "scene_index": 29,
        "shot_assignments": [
          {
            "deviation_note": "Keep Inwoo's shoulder large and pale in the foreground while the red circular patterns on the wall remain clearly readable behind him.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 1
          },
          {
            "deviation_note": "Use a more locked-off, symmetrical frontal framing than the stage default, with Inwoo's head turned slightly sideways but his gaze piercing toward Suri-young.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 3
          },
          {
            "deviation_note": "Let the tilt finish into complete stillness, emphasizing the sudden stop of Suri-young's head on Inwoo's firm shoulder.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very wide, low over the open water, about 1 meter above the surface and far in front of the fog bank, facing the horizon at sunset",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera glides forward across the golden water toward the fog wall, lowering slightly as the small fishing boat enters the foreground line of movement.",
            "visual_focus": "the broad sea surface, the sunset glow, and the heavy gray fog wall ahead"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low and close to the front quarter of the small fishing boat, just above bow height and a few meters ahead of the pointed bow, facing backward toward the boat as it advances",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera yields backward at the same pace as the boat, then lets the bow overtake the frame as both camera and boat pass into the fog.",
            "visual_focus": "the pointed bow of the small fishing boat cutting into the dense, murky fog surface"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Inside the fog, low over the water behind the small fishing boat, several meters back, with visibility reduced and the horizon nearly erased",
            "stage_index": 3,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "the fading rear silhouette of the small fishing boat dissolving into the dark fog"
          }
        ],
        "flow_summary": "카메라는 황금빛 바다의 넓은 전경에서 안개 장벽을 향해 미끄러져 들어가며, 소형 어선의 뱃머리와 함께 경계면을 통과한다. 이후 안개 속으로 들어간 배를 뒤에서 물러나듯 바라보며 형체가 사라지는 흐름으로 마무리된다.",
        "scene_index": 30,
        "shot_assignments": [
          {
            "deviation_note": "Frame the fog wall as a nearly flat, opaque surface so the bow appears half-submerged in it; keep the camera slightly off-center to emphasize the pointed bow piercing the boundary.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "85dfb99a-673b-45eb-912a-92deb09cad65",
  "resolved_model": "gpt",
  "updated_at": "2026-06-08T22:06:19.673609+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}