{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low at forest-floor height, about 1 meter from the man's path, moving through dense undergrowth beside the disturbed ground",
            "stage_index": 1,
            "stage_label": "wounded_trace",
            "transition_to_next": "The camera tracks forward along the ground and rises slightly toward the man's body, narrowing from the surrounding brush to his upper body and face.",
            "visual_focus": "the abandoned shoe, disturbed soil, blood trail, and the wounded man's movement through the brush"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Chest-height and very close in front of the man, roughly 40 centimeters from his face, slightly below eye level",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "At the peak of his fear, the movement stops briefly, then cuts to a wider low side position to catch the sudden impact from the incoming black shape.",
            "visual_focus": "the terrified man's widened eyes and panicked face"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Low side angle near the forest floor, about 2 meters from the point of impact, angled slightly upward toward the falling bodies",
            "stage_index": 3,
            "stage_label": "attack_impact",
            "transition_to_next": "",
            "visual_focus": "the black silhouette lunging through the air and crushing the man to the ground at the moment of collision"
          }
        ],
        "flow_summary": "카메라는 숲바닥의 상처와 흔적을 따라 낮게 이동하다가 남자의 얼굴 앞으로 밀착해 공포를 포착한다. 공포가 최고조에 이르는 순간, 낮은 측면 와이드 위치로 컷해 검은 형상이 덮치는 충돌을 거칠게 받아낸다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "Frame is tightened into an extreme facial close-up, holding just long enough for the widened eyes to register before the attack cut.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Framing opens wider than the previous close-up to include both bodies in the same impact plane, with handheld shake emphasizing the force of the collision.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the mouth of the narrow alley, eye level, several meters away from the utility pole, looking sideways through the dim streetlight and fog",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward move along the alley wall toward the figures locked against the pole.",
            "visual_focus": "the man and the woman pressed together beneath the streetlight"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close beside the utility pole at shoulder height, less than one meter from the couple, angled toward the woman's exposed neck and the man's face",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As the woman loses strength, the camera follows the downward motion, dropping and tracking with her collapse toward the asphalt.",
            "visual_focus": "the man's mouth biting into the woman's neck"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low near the asphalt, knee height descending to ankle height, a few meters from the fallen woman and facing along the length of the alley",
            "stage_index": 3,
            "stage_label": "collapse_reveal",
            "transition_to_next": "",
            "visual_focus": "the woman's motionless body on the cold asphalt"
          }
        ],
        "flow_summary": "카메라는 안개 낀 뒷골목 입구에서 전봇대 아래의 두 사람을 포착한 뒤, 남자의 물어뜯는 행위로 천천히 밀착한다. 이후 여자가 쓰러지는 동선을 따라 아래로 내려가며 차가운 아스팔트 위의 전신으로 시선을 확장한다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "Tightens into an extreme close-up, holding almost motionless on the teeth embedded in the neck while the alley background falls out of focus.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Settles into a wider low-angle full-body framing, allowing the woman's stillness and the empty asphalt around her to dominate the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Outside the yellow police line at chest height, several meters back from the activity, moving laterally along the edge of the wooded crime scene",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera continues its lateral move, then lowers and threads its attention inward toward the ground-level evidence area near the body bag.",
            "visual_focus": "The cordoned-off forest crime scene, bent-over detectives examining the ground, and the controlled police activity around the bodies"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low to the ground beside the body bag, close enough to isolate the hand holding the zipper, with the background detectives falling out of focus",
            "stage_index": 2,
            "stage_label": "forensic_detail",
            "transition_to_next": "A clean cut shifts from the body bag detail to the detective group, preserving the investigative tension while jumping to Hyesu's position within the crowd.",
            "visual_focus": "A police officer's tense hand gripping the zipper end of the black body bag"
          },
          {
            "camera_motion": "static",
            "camera_position": "Eye-level frontal medium close distance, positioned just inside the cluster of detectives and facing Hyesu directly",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Hyesu's firm face and sharp eyes fixed on the forensic scene beyond the camera"
          }
        ],
        "flow_summary": "카메라는 폴리스 라인 바깥의 넓은 현장 관찰에서 시작해 시신 수거의 세부로 낮게 파고든 뒤, 컷으로 형사들 틈의 혜수 정면에 도달한다. 뉴스 리포트의 객관적 시선이 점차 사건을 지휘하는 혜수의 굳은 반응으로 수렴되는 흐름이다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter on Hyesu's face than the stage default, reducing the surrounding detectives to partial foreground and background edges.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "Very high aerial position above the outskirts of Incheon, looking down at a cluster of old low-rise villas under golden sunset light",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera slowly descends and glides forward, narrowing the view from the wider neighborhood toward one aging villa block.",
            "visual_focus": "the quiet suburban neighborhood and surrounding old residential buildings"
          },
          {
            "camera_motion": "track",
            "camera_position": "High oblique position just above the roofline of the old villa, moving laterally along the top floors at a medium-long distance",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues its lateral glide and eases closer until the rooftop room becomes the dominant subject in frame.",
            "visual_focus": "the top of the old multi-family villa and the isolated rooftop room"
          },
          {
            "camera_motion": "static",
            "camera_position": "Medium-long exterior vantage slightly above and across from the rooftop room, at rooftop height, holding the structure against the sunset sky",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "the lonely rooftop room on top of the worn villa"
          }
        ],
        "flow_summary": "카메라는 인천 변두리의 넓은 부감에서 출발해 낡은 빌라군 위로 낮아지며, 옥탑방이 있는 건물 꼭대기로 천천히 접근한다. 마지막에는 노을 속 옥탑방 외부 전경에 멈춰 쓸쓸하고 불안한 분위기를 고정한다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame long enough for the golden sunset and the rooftop room's isolation to register clearly.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low waist-height camera beside the small kitchen window and sink, about 2 feet from the counter, angled diagonally across the countertop toward the stove and living area beyond.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks slowly right along the counter line, leaving the sink and stove details behind and opening its angle toward the living room where Minsuk is watching the television.",
            "visual_focus": "sunlit sink area, unfinished herbs, boiling pot steam, and the tense domestic atmosphere"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Eye-level camera at the edge of the kitchen-living threshold, medium distance from Minsuk, with the television off-frame and the bedroom doorway visible across the room.",
            "stage_index": 2,
            "stage_label": "tension_shift",
            "transition_to_next": "As Suriyoung enters and moves toward the table, the camera pans and drifts with her movement, settling into the dining-table axis.",
            "visual_focus": "Minsuk’s guarded reaction to Suriyoung entering from the bedroom doorway"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Seated-height camera just across the dining table from Suriyoung, about 3 feet from her face, angled slightly upward from the tabletop line so the cup and her expression share the frame.",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "After the table exchange, the scene makes a logical cut forward in time to the entrance area, resetting the camera near the door while preserving the same intimate distance to Suriyoung.",
            "visual_focus": "Suriyoung tasting the herbal drink and reacting to its bitterness"
          },
          {
            "camera_motion": "track",
            "camera_position": "Eye-level camera near the entrance, slightly behind and to the side of Suriyoung, about 4 feet away, with Minsuk positioned just inside the room.",
            "stage_index": 4,
            "stage_label": "entrance_intimacy",
            "transition_to_next": "The camera tracks closer as Suriyoung leans near Minsuk, then tilts and pushes down along Minsuk’s arm toward the inside of her wrist.",
            "visual_focus": "Suriyoung’s casual departure, her affectionate closeness to Minsuk, and the mother-daughter warmth"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight wrist-height camera within 1 foot of Minsuk’s inner wrist, positioned slightly below the forearm and angled to catch the mark clearly while the rest of the entrance falls soft.",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "the small red circular mark on the inside of Minsuk’s wrist"
          }
        ],
        "flow_summary": "카메라는 부엌의 햇살과 끓는 약초 냄새에서 시작해 거실의 긴장, 식탁의 친밀한 관찰로 부드럽게 이동한다. 이후 시간 경과를 컷으로 넘겨 현관의 따뜻한 작별을 따라가다가 민숙의 손목 표식으로 시선을 좁혀 장면을 마무리한다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly tighter than the stage default, holding the cup at Suriyoung’s lips and compressing the background so her pinched expression dominates.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 3
          },
          {
            "deviation_note": "Use a macro-level close-up with very shallow depth of field, isolating only the inner wrist and the red circular mark from the surrounding entrance space.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide low roadside position on the tidal-flat side, about 1 meter above ground and 10 meters from the lane, looking diagonally down the coastal road through thick sea mist",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suriyoung rides into the frame, the camera begins a lateral move parallel to her path, matching the bicycle speed from the tidal-flat side.",
            "visual_focus": "the misty coastal road beside the tidal flat and Suriyoung entering on her bicycle"
          },
          {
            "camera_motion": "track",
            "camera_position": "Side-tracking position at full-body distance, about 1.2 meters high and 4 meters from Suriyoung, moving parallel to the bicycle along the coastal road",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera closes the lateral gap slightly while maintaining speed, rising attention from the whole bicycle movement toward Suriyoung’s upper body and face.",
            "visual_focus": "Suriyoung’s full body driving the bicycle forward, hands gripping the handlebar and one foot pressing the pedal down"
          },
          {
            "camera_motion": "track",
            "camera_position": "Closer side profile position at shoulder height, about 1.5 meters high and 1.5 meters from Suriyoung, still moving parallel with the bicycle",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyoung’s calm side profile as she breathes in the sea air while riding"
          }
        ],
        "flow_summary": "카메라는 해무 낀 갯벌 옆 도로를 넓게 열어 보인 뒤, 수리영의 자전거 속도에 맞춰 옆으로 붙어 함께 달린다. 전신의 역동적인 페달링에서 시작해 점차 얼굴 쪽으로 가까워지는 연속 추적 흐름이다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly wider within the side-tracking move to keep Suriyoung’s entire body, bicycle handlebar, and downward pedal stroke visible against the misty tidal-flat road.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Low outside the kennel bars, about waist height, very close to the cage front, angled slightly upward from the barking dog's side of the space",
            "stage_index": 1,
            "stage_label": "threat_establishing",
            "transition_to_next": "The camera pulls back from the kennel bars and pans across the dog's eyeline to settle directly opposite Suriyoung, keeping the tension continuous.",
            "visual_focus": "the aggressive dog lunging inside the kennel"
          },
          {
            "camera_motion": "static",
            "camera_position": "Eye-level frontal close-up, about one meter from Suriyoung, centered on her face with the kennel just off camera in her eyeline",
            "stage_index": 2,
            "stage_label": "close_confrontation",
            "transition_to_next": "As the dog's energy drops, the camera slides past Suriyoung's shoulder toward the calmer animal and the doctor's working hands.",
            "visual_focus": "Suriyoung locking eyes with the dog"
          },
          {
            "camera_motion": "track",
            "camera_position": "Close beside the kennel opening at hip height, slightly behind the dog and angled toward the veterinarian's hands",
            "stage_index": 3,
            "stage_label": "procedure_observation",
            "transition_to_next": "After the injection, the camera tracks with Suriyoung as she turns away from the kennel line and looks over the crowded shelter.",
            "visual_focus": "the doctor finishing the injection while the dog stays subdued"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind and slightly to the left of Suriyoung at shoulder height, following her along the row of kennels at a medium distance",
            "stage_index": 4,
            "stage_label": "burden_reveal",
            "transition_to_next": "The camera eases around her right side as she stops, lifting the phone, then pushes into her face for the call.",
            "visual_focus": "Suriyoung taking in the many waiting dogs"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight three-quarter close-up at eye level, just in front of Suriyoung's phone side, close enough to read the tension in her mouth and eyes",
            "stage_index": 5,
            "stage_label": "anxious_contact",
            "transition_to_next": "The camera releases the close-up by tracking toward the work area where the next dog-care task begins.",
            "visual_focus": "Suriyoung anxiously trying to reach someone by phone"
          },
          {
            "camera_motion": "track",
            "camera_position": "At table height near the grooming and washing area, moving parallel to Suriyoung's hands as she joins the shelter work",
            "stage_index": 6,
            "stage_label": "work_transition",
            "transition_to_next": "",
            "visual_focus": "Suriyoung moving into the practical care of the dogs"
          }
        ],
        "flow_summary": "카메라는 철창 앞의 위협적인 개에서 출발해 수리영의 정면 응시로 당겨지고, 개가 진정된 뒤 보호원 안쪽으로 그녀를 따라 이동한다. 이후 수많은 개들을 마주한 부담감에서 전화 통화의 초조한 클로즈업으로 좁혀졌다가, 다시 작업 공간으로 흐른다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "Frame her face more rigidly centered than the stage default, with minimal background detail so the stare feels confrontational.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Keep the phone pressed tight to her ear and crop slightly closer on her mouth so the bitten lip becomes the emotional anchor.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height in the crowded shopping street, slightly ahead of Suri-young and moving backward through the neon-lit pedestrian flow, about 3 meters from her bicycle",
            "stage_index": 1,
            "stage_label": "street_approach",
            "transition_to_next": "The camera keeps retreating as Suri-young arrives at the market frontage, then arcs gently toward the glass entrance to stay with her dismount.",
            "visual_focus": "Suri-young navigating the busy street toward the large market entrance"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Outside the market entrance at waist-to-chest height, positioned beside the glass doors and about 2 meters from the bicycle parking area",
            "stage_index": 2,
            "stage_label": "arrival_at_entrance",
            "transition_to_next": "As Suri-young moves inside, the camera pans with her through the doorway and lets the brighter interior swallow the street background.",
            "visual_focus": "Suri-young securing the bicycle and entering the market"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside a tall grocery aisle at eye level, placed between high shelves, starting about 2.5 meters from Suri-young and advancing to a tight face distance",
            "stage_index": 3,
            "stage_label": "search_between_shelves",
            "transition_to_next": "The forward move slows, then the camera pivots down the aisle toward the staff area as Suri-young approaches the workers for answers.",
            "visual_focus": "Suri-young's face as she searches for her mother and fixes her gaze toward an unseen point beyond the shelves"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "In the same market aisle near the display boxes, at Suri-young's eye level and within 1 to 1.5 meters of the small group of employees",
            "stage_index": 4,
            "stage_label": "question_and_reaction",
            "transition_to_next": "The camera follows Suri-young's turn away from the employees, tracking behind her toward the exit until the exterior dusk light fills the frame.",
            "visual_focus": "Suri-young reacting to the employees' conflicting information about her mother"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the market on the dusk street, at eye level and about 1 meter from Suri-young, framed against the dim storefronts and passing street traffic",
            "stage_index": 5,
            "stage_label": "outside_call",
            "transition_to_next": "",
            "visual_focus": "Suri-young's tense face as she holds a phone to her ear and realizes the call is not being answered"
          }
        ],
        "flow_summary": "카메라는 번화가의 움직임 속에서 수리영을 따라 마트 입구로 접근한 뒤, 진열대 사이로 밀고 들어가 엄마를 찾는 불안을 좁혀 잡는다. 이후 직원들과의 대화 지점에서 방향을 틀어 출구까지 따라 나가고, 어스름한 거리에서 전화를 거는 수리영의 굳은 얼굴에 멈춘다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "단계의 돌리 인 끝부분에 해당하며, 카메라는 높은 진열대의 압박감을 살리기 위해 양쪽 선반을 프레임 가장자리에 강하게 남긴다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "단계 기본값보다 조금 더 타이트한 얼굴 중심 프레이밍으로, 스마트폰과 찌푸린 미간이 동시에 읽히도록 렌즈를 약간 위로 맞춘다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low on the seaward shoulder of the foggy coastal road, about 1 meter above ground and 12 meters ahead of the approaching bicycle path, angled slightly down the road toward the line of streetlights",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins tracking backward along the road shoulder as the cyclist rapidly closes the distance, keeping the streetlight glow in frame.",
            "visual_focus": "the dark coastal road, fog, streetlight pools, and Suri-young approaching as a compact silhouette"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low and close beside the road lane, about 0.9 meters high and 3 meters off Suri-young's side, moving parallel as she passes directly beneath a streetlight",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As Suri-young surges past the brightest pool of light, the camera lets her edge forward in the frame and continues trailing into the darker stretch of road.",
            "visual_focus": "Suri-young bent tightly over the bicycle, driving one pedal downward with force against the streetlight backlight"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Behind and slightly offset from the bicycle path, about 1.2 meters high and 8 meters back, receding into the misty road after the pass",
            "stage_index": 3,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suri-young disappearing deeper along the coastal road toward home"
          }
        ],
        "flow_summary": "카메라는 안개 낀 해안도로의 낮은 위치에서 수리영이 다가오는 방향을 잡고, 가로등 아래에서 그녀와 나란히 붙어 달리며 실루엣의 힘을 포착한다. 이후 그녀가 어둠 속으로 앞서 나가도록 뒤에서 물러나며 씬을 닫는 흐름이다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "Treat this as a sharp, suspended instant within the parallel tracking move, freezing the strongest silhouette at the exact moment her foot drives the pedal down under the streetlight.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "On the rooftop, waist height, about 5 meters from the iron entrance door, positioned near the low platform and water tank, looking across the empty roof toward the doorway.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera drops its attention with the wind-blown dry leaves and begins a low forward move toward the entrance path.",
            "visual_focus": "the wind-tossed rooftop objects and the empty approach to the iron door"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very low to the cement floor, about 20 centimeters high and 2 meters in front of the iron entrance door, angled slightly upward so the floor and lower door fill the frame.",
            "stage_index": 2,
            "stage_label": "ominous_approach",
            "transition_to_next": "Continuing the same low move, the camera closes the remaining distance to the door seam and rises slightly toward the lock area.",
            "visual_focus": "the stranger's elongated black shadow stretching beneath the iron door in the moonlight"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close beside the iron door at hand height, less than half a meter from the narrow door seam, kept outside the threshold and angled along the edge of the door.",
            "stage_index": 3,
            "stage_label": "threshold_intrusion",
            "transition_to_next": "As the door gives way, the camera does not enter fully; it slips laterally along the exterior wall, tracking toward the nearby window.",
            "visual_focus": "the door seam, the inserted flyer, and the slight opening of the entrance"
          },
          {
            "camera_motion": "track",
            "camera_position": "Outside the rooftop room, shoulder height, moving along the exterior wall from the door toward the window, staying tight to the wall surface.",
            "stage_index": 4,
            "stage_label": "exterior_reposition",
            "transition_to_next": "The lateral move settles directly in front of the window, tightening the view through the curtain as the interior movement becomes visible.",
            "visual_focus": "the dark window glass and the faint reflected movement inside the room"
          },
          {
            "camera_motion": "static",
            "camera_position": "Directly outside the window, eye level, about 1 meter from the glass, squared to the curtain so the interior appears only as flattened shadows.",
            "stage_index": 5,
            "stage_label": "silhouette_reveal",
            "transition_to_next": "",
            "visual_focus": "the huge male silhouette pressing down over the crouched female silhouette behind the thin curtain"
          }
        ],
        "flow_summary": "카메라는 옥상 바닥의 바람과 잎에서 출발해 철문 아래로 다가가며 남자의 존재를 그림자로 먼저 포착한다. 문이 열린 뒤에는 안으로 따라 들어가지 않고 외벽을 따라 창문으로 이동해, 커튼 위에 드리운 폭력적인 실루엣을 마지막 이미지로 고정한다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame lower and wider than the stage default so the iron door base and the full length of the distorted shadow dominate the composition, while the man's face remains completely unseen.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Compress the space by aligning the lens squarely with the curtain, making the two bodies read only as an overpowering silhouette and a smaller crouched shape with no interior detail visible.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Low on the narrow concrete stairwell, one step behind and below Suriyeong at shin height, angled upward along the steep steps",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera climbs with her and rises slightly as her pace breaks, closing the distance toward her upper body.",
            "visual_focus": "Suriyeong's urgent movement up the stairs"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Mid-close at stair landing height, just in front of and slightly below Suriyeong's face, close enough to catch her sudden halt",
            "stage_index": 2,
            "stage_label": "sensory_stop",
            "transition_to_next": "The camera edges past her shoulder toward the rooftop opening, letting her gaze pull the frame forward into the dark roof space.",
            "visual_focus": "Suriyeong registering the foul smell and freezing mid-ascent"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "On the dark rooftop, centered several meters in front of the half-open iron entrance door at chest height, facing it straight on",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "A hard cut reverses the axis to place the camera near the door line, facing back toward Suriyeong for her reaction.",
            "visual_focus": "The half-open iron door and the black interior visible through the gap"
          },
          {
            "camera_motion": "static",
            "camera_position": "Near the half-open iron door at eye level, looking back across the rooftop toward Suriyeong from the direction of the doorway",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's shocked stare fixed on the half-open door"
          }
        ],
        "flow_summary": "카메라는 수리영을 따라 계단을 급히 오르다가 악취를 감지한 순간 속도를 늦추고, 그녀의 시선을 따라 어두운 옥상과 반쯤 열린 철문으로 전진한다. 철문을 정면으로 드러낸 뒤 축을 반전하는 컷으로 수리영의 굳어버린 반응을 받아낸다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "Frame the door colder and more symmetrical than the moving approach, holding the black gap as the center of dread.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Keep the camera locked off after the cut, with Suriyeong's widened eyes dominating the frame while the implied door remains offscreen in her eyeline.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At chest height just inside the living room entrance, several steps behind Suriyoung, moving through the dim room toward the inner bedroom corridor.",
            "stage_index": 1,
            "stage_label": "establishing_search",
            "transition_to_next": "The camera continues forward with Suriyoung, leaving the living room clues behind and narrowing toward the bedroom doorway without breaking spatial continuity.",
            "visual_focus": "Suriyoung searching the room, with the cold pot, television glow, table, and overturned cup passing through the edges of frame"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low at the threshold of Suriyoung's bedroom, knee height, angled downward from behind her toward the blood marks on the floor.",
            "stage_index": 2,
            "stage_label": "blood_trail_approach",
            "transition_to_next": "The camera tracks along the bloody footprints to the closed curtain, then rises behind Suriyoung as her hands reach for the fabric.",
            "visual_focus": "blood stains and bloody footprints leading from the floor to the curtain"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the bedroom near the opened curtain, slightly below eye level and about six feet from the window area, facing the seated body frontally.",
            "stage_index": 3,
            "stage_label": "corpse_reveal",
            "transition_to_next": "After holding the reveal, the camera creeps closer and lowers along the body toward the rigid hand, shifting from the full horror tableau into forensic detail.",
            "visual_focus": "the mother's dead body seated before the window, head bowed, with torn shoulder and collarbone wounds visible"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low beside the seated body at hand level, within close-up distance of the clenched fingers and wrist.",
            "stage_index": 4,
            "stage_label": "evidence_close_observation",
            "transition_to_next": "The red change at the wrist motivates the camera to lift and rotate away from the hand, carrying the viewer's gaze toward the bed wall.",
            "visual_focus": "the crumpled photograph gripped in the dead hand, then the small wrist tattoo turning red"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Near the side of the bed at chest height, angled upward toward the blank wall above the mattress.",
            "stage_index": 5,
            "stage_label": "supernatural_reveal",
            "transition_to_next": "",
            "visual_focus": "a blood-red circular mark appearing on the empty wall as if painted by an unseen brush"
          }
        ],
        "flow_summary": "카메라는 거실의 불안한 수색에서 수리영의 방 문턱으로 낮게 흘러 들어가 핏자국을 따라 커튼까지 접근한 뒤, 창가의 시신을 정면으로 드러낸다. 이후 시선은 시신의 손과 사진으로 압축되고, 손목의 붉은 변화에 이끌려 침대 위 벽면의 붉은 원형 자국으로 상승한다.",
        "scene_index": 12,
        "shot_assignments": [
          {
            "deviation_note": "Hold slightly wider than the stage's forward push so the opened curtain, window area, bowed head, and torn shoulder and collarbone wounds remain in one horrific tableau.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 3
          },
          {
            "deviation_note": "Shift into a tighter macro close-up than the stage default, racking focus onto the crumpled photograph locked inside the stiff fingers while the surrounding body falls soft.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 4
          },
          {
            "deviation_note": "Complete the upward tilt on the otherwise empty wall and hold as the red circular mark resolves sharply, as though freshly brushed onto the surface.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "At the lower edge of the rooftop stair exit, shoulder height, about 10 feet from the stair mouth, angled slightly upward toward the dark exterior stairs",
            "stage_index": 1,
            "stage_label": "escape_descent",
            "transition_to_next": "The camera backs away with 수리영 as she rushes down, then steadies when she reaches the open exterior area and stops under the siren light.",
            "visual_focus": "수리영 bursting out from the rooftop room area and descending toward the building exterior"
          },
          {
            "camera_motion": "static",
            "camera_position": "In the open exterior space below the stairs, eye-level, about 14 feet in front of 수리영, holding her full body against the dark building and flashing red light",
            "stage_index": 2,
            "stage_label": "frozen_observation",
            "transition_to_next": "After holding on her frozen body, the camera pans toward the arriving police car and begins to connect 혜수's movement back to 수리영.",
            "visual_focus": "수리영 standing rigid and unfocused beneath the red siren pulses"
          },
          {
            "camera_motion": "track",
            "camera_position": "Between the police car and 수리영, chest height, moving backward on a diagonal path as 혜수 runs from the car toward 수리영",
            "stage_index": 3,
            "stage_label": "approach",
            "transition_to_next": "The camera lets 혜수 cross into 수리영's space, then arcs around to 수리영's side and lowers into a tighter emotional angle.",
            "visual_focus": "혜수 closing the distance to 수리영 with urgent concern"
          },
          {
            "camera_motion": "static",
            "camera_position": "Close beside 수리영 at slightly below eye level, about 2 feet from her cheek, angled upward along her side profile toward 혜수's position",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "A quick upward tilt can catch 혜수's shock, then the camera swings toward the stairwell as 혜수 breaks away to run up.",
            "visual_focus": "수리영's tearful side profile as she looks up at 혜수"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind and slightly below 혜수 on the narrow exterior stairway, waist height, following close as she climbs toward the rooftop room with 김형사 behind her",
            "stage_index": 5,
            "stage_label": "urgent_ascent",
            "transition_to_next": "",
            "visual_focus": "혜수 and 김형사 rushing up the steep stairs toward the rooftop room"
          }
        ],
        "flow_summary": "카메라는 옥탑방 계단에서 뛰쳐나온 수리영을 따라 내려오다가, 붉은 사이렌 아래 얼어붙은 그녀를 정면으로 붙잡는다. 이후 혜수의 접근을 따라 수리영의 측면 클로즈로 좁혀지고, 충격을 확인한 뒤 다시 계단을 향해 급히 따라 올라가는 흐름이다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "붉은 사이렌 불빛의 맥동을 강조하고, 수리영의 굳은 전신이 화면 안에서 움직이지 않는 기둥처럼 보이도록 프레이밍한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "혜수는 주로 수리영의 올려다보는 시선 방향으로만 존재하게 두고, 수리영의 창백한 측면과 눈물에 초점을 더 얕게 맞춘다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At the apartment entrance, eye level, about 2.5 meters from the doorway, tracking backward into the narrow interior as the group moves from the hall toward the room",
            "stage_index": 1,
            "stage_label": "entry_search",
            "transition_to_next": "The camera keeps retreating through the doorway, then slows and pivots toward the open room as Suriyoung rushes inside.",
            "visual_focus": "Kim detective and Hyesu finishing the search, with Suriyoung reacting from behind them"
          },
          {
            "camera_motion": "static",
            "camera_position": "Just inside the open room doorway, eye level, wide distance, centered to see the bed, the clean floor, and the curtain in one quiet frame",
            "stage_index": 2,
            "stage_label": "empty_room_reveal",
            "transition_to_next": "The camera begins a slow dolly inward from the doorway toward the curtain area, narrowing from the whole room to Suriyoung's discovery point.",
            "visual_focus": "The unnaturally clean room, the spotless bed area, and the clean curtain where evidence should have been"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the room near the bed, chest height, moving to within about 1 meter of Suriyoung beside the curtain, angled slightly down toward the empty floor",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "As Suriyoung bolts out, the camera breaks from the room axis and tracks after her toward the dining table.",
            "visual_focus": "Suriyoung's pale face as she looks down at the empty floor behind the curtain"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving from the room back into the main living area, shoulder height, following Suriyoung in profile toward the dining table from about 1.5 meters away",
            "stage_index": 4,
            "stage_label": "table_search",
            "transition_to_next": "After Kim detective's frustration peaks and he leaves, the camera cuts to a calmer frontal position for the private exchange between Hyesu and Suriyoung.",
            "visual_focus": "Suriyoung pointing toward the spotless dining table while Kim detective and Hyesu react nearby"
          },
          {
            "camera_motion": "static",
            "camera_position": "In the main room, eye level, about 1.2 meters in front of Hyesu and Suriyoung, squared to them in a restrained frontal medium shot",
            "stage_index": 5,
            "stage_label": "comforting_reaction",
            "transition_to_next": "",
            "visual_focus": "Hyesu holding Suriyoung's lowered shoulders in a warm, steady gesture"
          }
        ],
        "flow_summary": "카메라는 현관에서 방 안으로 따라 들어가 사라진 증거의 빈자리를 확인한 뒤, 수리영의 시선과 함께 커튼 뒤 바닥까지 밀고 들어간다. 이후 식탁 쪽으로 흐르듯 따라나갔다가, 김형사가 빠진 뒤 혜수가 수리영을 감싸는 정면 위치에 멈춰 감정의 여운을 붙잡는다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly longer than the surrounding movement so the cleanliness feels unnaturally still.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten the lens slightly and let the downward angle include both Suriyoung's stunned face and the empty floor line behind the curtain.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Keep the camera still and frontal, allowing Hyesu's hands on Suriyoung's shoulders to dominate the center of the frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low bench-height camera on the seaward side of the bus stop, about 3 meters from Suryoung, framing her side profile with the dark ocean spread behind her.",
            "stage_index": 1,
            "stage_label": "establishing_isolation",
            "transition_to_next": "The camera begins a slow lateral track along the bench toward the landward side as Hyesu approaches with the drink, keeping Suryoung anchored in the frame.",
            "visual_focus": "Suryoung sitting curled on the bus stop bench, staring blankly past the shoreline."
          },
          {
            "camera_motion": "track",
            "camera_position": "Chest-height camera sliding beside the bench from Suryoung's side toward the space between the bench and the coastal road, close enough to catch Hyesu entering Suryoung's personal space.",
            "stage_index": 2,
            "stage_label": "approach_interaction",
            "transition_to_next": "As Suryoung rises, the camera tilts and tracks backward toward the road shoulder, opening the frame for her sudden decision to leave.",
            "visual_focus": "The exchange between Hyesu and Suryoung at the bench, with attention shifting from the offered drink to Suryoung's unsettled face."
          },
          {
            "camera_motion": "track",
            "camera_position": "Handheld-feeling eye-level camera just off the road shoulder, retreating backward a few steps ahead of Suryoung as she launches away from the bench, then drifting aside to let her pass down the coastal road.",
            "stage_index": 3,
            "stage_label": "departure",
            "transition_to_next": "The camera lets Suryoung run past the lens line, then pans and settles back toward Hyesu near the bus stop without changing the scene location.",
            "visual_focus": "Suryoung standing with resolve, then breaking away toward the dark coastal road."
          },
          {
            "camera_motion": "pan",
            "camera_position": "Eye-level camera positioned diagonally between the bus stop and the road, about 5 meters from Hyesu, angled so Hyesu faces the lens while the road recedes behind and beside her.",
            "stage_index": 4,
            "stage_label": "reaction_call",
            "transition_to_next": "",
            "visual_focus": "Hyesu calling after Suryoung as Suryoung recedes down the coastal road."
          }
        ],
        "flow_summary": "카메라는 밤바다를 등진 정류장 벤치의 고립된 수리영 옆에서 시작해, 혜수의 접근과 수리영의 결심을 따라 도로 쪽으로 밀려난다. 수리영이 뛰쳐나간 뒤에는 그 동선을 따라 시선을 회전해, 남겨진 혜수가 멀어지는 수리영을 향해 외치는 순간에 머문다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame quieter and more static than the later flow, emphasizing empty sea space around Suryoung before the camera begins to move.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Use a slight off-axis frontal angle on Hyesu so her calling mouth and cupped hands read clearly while Suryoung's retreating back remains visible down the road line.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_out",
            "camera_position": "Inside the police office, just beyond the entrance door at eye level, facing the doorway from a medium distance as Hyesu pushes in toward camera",
            "stage_index": 1,
            "stage_label": "establishing_entry",
            "transition_to_next": "The camera continues backing deeper into the office, keeping Hyesu frontal until she clears the doorway, then begins to drift with her toward the duty desk.",
            "visual_focus": "Hyesu entering while holding a smartphone to her ear, her concern visible under the fluorescent office light"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving laterally and backward along the aisle between the entrance and the duty desk, at standing eye level beside Hyesu's path",
            "stage_index": 2,
            "stage_label": "approach_desk",
            "transition_to_next": "As Hyesu reaches the desk and raises the phone, the movement resolves into a closer desk-side angle; a cut may tighten the distance to emphasize the evidence on the screen.",
            "visual_focus": "Hyesu crossing toward Detective Kim at the desk, with Detective Kim becoming the secondary point of attention"
          },
          {
            "camera_motion": "static",
            "camera_position": "Very close at desk height, slightly in front of Detective Kim's seated eye line, angled toward Hyesu's extended hand and the smartphone screen",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "After the phone is presented, the camera releases from the tight insert and pulls or cuts wider toward Hyesu's side of the room for her growing unease.",
            "visual_focus": "Hyesu's firm gesture as she holds the smartphone screen directly in front of Detective Kim"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Near the side of the duty desk at chest height, widening toward the darker window side of the office",
            "stage_index": 4,
            "stage_label": "reaction_withdraw",
            "transition_to_next": "",
            "visual_focus": "Hyesu withdrawing into a tense, inward reaction while the office darkness beyond the window frames her worry"
          }
        ],
        "flow_summary": "카메라는 경찰서 문 안쪽에서 혜수를 정면으로 맞이한 뒤, 그녀가 당직 책상으로 다가가는 동선을 따라 물러나며 김형사 쪽으로 시선을 옮긴다. 이후 스마트폰 화면을 내미는 손짓을 책상 앞의 타이트한 지점에서 포착하고, 마지막에는 혜수의 불길한 예감을 따라 공간을 넓히는 흐름이다.",
        "scene_index": 16,
        "shot_assignments": [
          {
            "deviation_note": "Hold Hyesu centered and frontal as the door opens, letting the fluorescent light flatten the office atmosphere and sharpen her anxious expression.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten the framing so the smartphone screen and Hyesu's hand dominate the foreground, with Detective Kim's eye line just behind it to stress her urgency.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "On a neighboring rooftop terrace, camera at chest height about 18 meters from the rooftop room, framing the small rooftop structure against the bluish dawn sky",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward dolly across the rooftop gap, tightening attention from the empty dawn atmosphere toward the lit window.",
            "visual_focus": "The lonely exterior of the rooftop room, with warm yellow light spilling from the window under the pale blue morning sky"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Moving closer along the same rooftop sightline, camera at chest height about 8 meters from the window, slightly below the window line to keep the room silhouetted against the sky",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "As the camera nears the building, it eases sideways along the parapet line, shifting the gaze from the lit window toward the rooftop wall.",
            "visual_focus": "The illuminated window and the quiet rooftop facade, emphasizing the contrast between interior warmth and exterior cold dawn"
          },
          {
            "camera_motion": "track",
            "camera_position": "Alongside the rooftop wall at low shoulder height, about 2 meters from the parapet, angled toward the wall edge and the lit room beyond",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The parapet edge near the rooftop room, where a small animal presence can enter the frame while the glowing window remains in the background"
          }
        ],
        "flow_summary": "카메라는 이웃 옥상 쪽의 넓은 전경에서 시작해 불 켜진 옥탑방 창문을 향해 천천히 다가간다. 이후 창문 앞에서 시선을 담벼락 쪽으로 미끄러뜨리며 새벽의 고요함 속에 숨어 있는 움직임을 예고한다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the main bedroom, low at bed-edge height, about two meters from the bed, facing Suri-young in a quiet side-front angle with the room held in shallow morning light.",
            "stage_index": 1,
            "stage_label": "uneasy_wake",
            "transition_to_next": "The camera leaves the bed area on her movement, tracking toward the closed inner room door as her attention shifts from waiting to suspicion.",
            "visual_focus": "Suri-young waking from a restless doze and scanning the silent room"
          },
          {
            "camera_motion": "track",
            "camera_position": "Just inside Suri-young's room, shoulder height and slightly behind her left side, moving from the doorway toward the window and ending near the clean floor below the opened curtains.",
            "stage_index": 2,
            "stage_label": "room_search_reassurance",
            "transition_to_next": "After holding on the empty, clean window area, the flow is interrupted by the phone ring and cuts closer to her reaction near the phone.",
            "visual_focus": "Suri-young confirming that the window area is empty and unnaturally clean"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Near the bed and small personal belongings, chest height, close enough to isolate Suri-young's hand, phone, and backpack as she decides not to wait passively.",
            "stage_index": 3,
            "stage_label": "decision_to_leave",
            "transition_to_next": "A practical cut carries her from the bedroom area into the bathroom, resetting the camera at the sink and mirror line.",
            "visual_focus": "Suri-young's anxious phone call and her decision to take the backpack"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the bathroom at sink height, slightly behind and beside Suri-young, aligned so the mirror fills the frame and the reflected rear wall is visible beyond her face.",
            "stage_index": 4,
            "stage_label": "mirror_disturbance",
            "transition_to_next": "When she turns back and the mark vanishes, the camera breaks into a handheld follow out of the bathroom toward the living room table.",
            "visual_focus": "The mirror reflection, Suri-young's wet face, and the sudden blood-red circular mark on the reflected bathroom wall"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "In the living room beside the dining table, starting at Suri-young's side and lowering into an intimate close range over the framed family photograph.",
            "stage_index": 5,
            "stage_label": "photo_hallucination",
            "transition_to_next": "",
            "visual_focus": "The framed photograph on the table as the mother's smiling face appears to distort and melt"
          }
        ],
        "flow_summary": "카메라는 안방의 고요한 대기에서 출발해 수리영의 불안한 동선을 따라 방, 욕실, 거실로 점점 더 밀착해 들어간다. 공간을 옮길 때마다 컷으로 위치를 재설정하되, 시선은 늘 수리영이 확인하려는 ‘부재의 흔적’에서 환각의 이미지로 이어진다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "창문을 연 직후의 정지점에서 카메라를 수리영의 측면으로 약간 더 낮춰, 입술과 깨끗한 창가 바닥이 함께 읽히게 한다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 2
          },
          {
            "deviation_note": "수리영의 얼굴보다 거울 속 벽면 반사를 우선시키도록 초점을 뒤의 핏빛 원형 표식에 고정한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 4
          },
          {
            "deviation_note": "수리영의 시점에 가까운 과감한 클로즈업으로 밀착해 사진 속 어머니 얼굴의 일그러짐만 화면을 지배하게 한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Outside the quiet supermarket entrance at standing eye level, several meters behind the bicycle, then moving through the doorway into the front aisle",
            "stage_index": 1,
            "stage_label": "establishing_approach",
            "transition_to_next": "The camera keeps tracking with Suriyoung as she moves deeper between the shelves, narrowing from the entrance space into the aisle where the male employee is found.",
            "visual_focus": "Suriyoung entering the quiet supermarket and searching the aisles"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside a narrow aisle between tall shelves, eye level, close enough to frame Suriyoung across the aisle with the male employee just off her eyeline",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As the conversation turns to the possible CCTV location, the camera releases the close hold and tracks with Suriyoung and the male employee toward the exit.",
            "visual_focus": "Suriyoung's firm face as she questions the male employee"
          },
          {
            "camera_motion": "track",
            "camera_position": "At the supermarket exit and just outside the storefront, shoulder height, moving laterally beside Suriyoung and the male employee as they look toward the exterior wall",
            "stage_index": 3,
            "stage_label": "exterior_reveal_path",
            "transition_to_next": "A hard cut jumps from the sidewalk-level view to a high wall-side position near the exterior CCTV camera, reversing the angle back toward Suriyoung.",
            "visual_focus": "The male employee indicating the area outside where the conversation may have been captured"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside on the building wall side, high above normal eye level and close to the CCTV position, angled downward toward Suriyoung standing below",
            "stage_index": 4,
            "stage_label": "cctv_confirmation",
            "transition_to_next": "",
            "visual_focus": "Suriyoung lifting her face directly toward the CCTV camera"
          }
        ],
        "flow_summary": "카메라는 한산한 마트 입구에서 수리영을 따라 안쪽 진열대 사이로 들어가 대화를 밀착해 포착한 뒤, 두 사람이 CCTV 위치를 확인하러 밖으로 나가는 흐름을 따라간다. 마지막에는 외벽 CCTV 근처의 높은 위치로 논리적 컷을 두어, 수리영이 카메라를 올려다보는 정면으로 장면의 긴장을 모은다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter than the stage default, using the tall shelves as vertical pressure around Suriyoung's face while the male employee remains implied by her direct eyeline.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Use a slightly higher, CCTV-adjacent angle so Suriyoung's raised chin reads as a direct confrontation with the surveillance point.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Eye-level medium-wide position behind and slightly to the side of the seated security staff, about 1.5 meters from the desk, looking past the staff member toward the monitor and the two women beyond it.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow lateral track away from the monitor line, sliding along the desk toward the rear side of Suriyoung to isolate her anxiety from the group view.",
            "visual_focus": "the CCTV monitor area, the security staff at the desk, and Hyesu and Suriyoung watching the screen"
          },
          {
            "camera_motion": "track",
            "camera_position": "Close side position beside and slightly behind Suriyoung at seated head height, within arm's length, angled down enough to include her clenched hands and lowered profile.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera continues the same sideward arc around the desk, leaving Suriyoung in the near background and moving toward Hyesu's side as the conversation shifts to the request for the CCTV copy.",
            "visual_focus": "Suriyoung's tense side profile, lowered head, and tightly clasped hands"
          },
          {
            "camera_motion": "track",
            "camera_position": "Eye-level medium-close side position near Hyesu, slightly forward of her shoulder and angled toward the seated security staff across the desk.",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Hyesu turning her head with a firm look toward the security staff seated in front of her"
          }
        ],
        "flow_summary": "카메라는 보안직원 뒤쪽에서 CCTV를 함께 보는 전체 구도를 잡은 뒤, 책상 옆을 따라 미끄러지듯 이동해 수리영의 불안을 가까이 포착한다. 이어 같은 동선의 연장으로 혜수의 측면까지 이동하며, 그녀가 보안직원을 향해 단호하게 결정을 내리는 순간에 멈춘다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly tighter than the stage default, lowering the angle just enough to emphasize Suriyoung's clenched hands before settling on her rigid side face.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the side angle as Hyesu turns her head, keeping the seated security staff implied in her eyeline rather than fully centered.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At the police office entrance, eye-level, wide distance, looking inward along the main aisle between desks",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Track with Suriyeong from the entrance aisle toward Hyesu's desk as the detectives leave the room and the office begins to empty.",
            "visual_focus": "Hyesu, Suriyeong, Kim detective, and the busy office space"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the office aisle beside Hyesu's desk, eye-level, medium-wide distance from Suriyeong seated alone",
            "stage_index": 2,
            "stage_label": "isolation",
            "transition_to_next": "Continue the push toward the desk surface, lowering the lens line until the scattered photographs dominate the foreground.",
            "visual_focus": "Suriyeong sitting at Hyesu's empty desk in the now-quiet office"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low over the desk edge, close distance, lens just above the tabletop and angled up toward Suriyeong beyond the photographs",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "On the monitor alert sound, pan and slide right across the desk line toward Kim detective's workstation.",
            "visual_focus": "Suriyeong's shocked face as she looks down at the disturbing photographs"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Beside Kim detective's workstation, close distance from the monitor, slightly above desk height",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "Track left from the monitor around the desk edge to Suriyeong's sightline as she checks whether anyone is watching.",
            "visual_focus": "The monitor glow and the location result on the screen"
          },
          {
            "camera_motion": "static",
            "camera_position": "At the side of Hyesu's desk, seated eye-level, tight distance on Suriyeong with the empty office space falling behind her",
            "stage_index": 5,
            "stage_label": "reaction",
            "transition_to_next": "Tilt down from her frozen eyes toward her hands, then begin to follow her movement as she prepares to write and leave.",
            "visual_focus": "Suriyeong's tense eyes as she turns her head to scan the empty office"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind and slightly to the side of Suriyeong, waist height, medium distance along the aisle leading back to the office exit",
            "stage_index": 6,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyeong taking the note and moving out of the office"
          }
        ],
        "flow_summary": "카메라는 경찰서 입구의 분주한 공기에서 시작해 형사들이 빠져나간 뒤 수리영이 혼자 남은 책상으로 서서히 압축된다. 이후 사진 위로 내려앉은 시선이 수리영의 충격적인 얼굴을 붙잡고, 모니터 알림을 따라 이동한 뒤 다시 그녀의 경계하는 눈과 퇴장 동선으로 이어진다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "Tighten slightly beyond the stage default so the pale face and open mouth dominate the frame, with the photographs only as blurred lower foreground.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold the frame a beat longer after the head turn; keep enough negative space behind her to confirm that the office is empty while her eyes remain the sharpest point.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low waist-height position beside the parked bicycle, about 2 meters away on the sidewalk, angled slightly toward the bicycle's side and front wheel",
            "stage_index": 1,
            "stage_label": "preparation",
            "transition_to_next": "As Suriyoung shifts weight onto the pedal, the camera starts moving laterally from the same side, matching the bicycle's initial push-off.",
            "visual_focus": "Suriyoung preparing to launch the parked bicycle forward"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low side-tracking position parallel to the moving bicycle, roughly at pedal height to waist height, keeping a close lateral distance of about 1.5 meters",
            "stage_index": 2,
            "stage_label": "launch",
            "transition_to_next": "",
            "visual_focus": "Suriyoung leaning forward with weight on the pedal as the bicycle surges ahead"
          }
        ],
        "flow_summary": "카메라는 주차된 자전거 옆 낮은 위치에서 수리영의 출발 직전 긴장을 잡은 뒤, 페달에 힘이 실리는 순간 같은 측면에서 나란히 따라붙는다. 정지 상태에서 출발의 추진력으로 자연스럽게 이어지는 짧은 측면 트래킹 흐름이다.",
        "scene_index": 22,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly tighter and more dynamic than the stage default, emphasizing Suriyoung's forward lean and the loaded pedal as if the bicycle is about to spring out.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At monitor height on the far side of the computer desk, about 3 feet from Suriyoung, lens just above the screen line, facing her head-on in the dark PC room",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera leaves the frontal hold with a slow rightward track along the desk edge, letting the monitor glow fall away as it follows the action toward the printer area.",
            "visual_focus": "Suriyoung's tense frontal face lit by the bright monitor"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside the computer station at desk height, moving laterally toward the nearby printer, about 2 feet from the desktop surface",
            "stage_index": 2,
            "stage_label": "task_reveal",
            "transition_to_next": "The camera continues the same lateral movement past the printer output, then lowers slightly and pivots toward the backpack near Suriyoung's hands.",
            "visual_focus": "Printed map pages emerging from the printer"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Low and close beside the desk, roughly hand height and within 1 foot of the open backpack, angled down toward Suriyoung's hands",
            "stage_index": 3,
            "stage_label": "close_detail",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's hand pausing as folded map pages slide into the backpack"
          }
        ],
        "flow_summary": "카메라는 어두운 PC방의 모니터 앞에서 수리영의 굳은 정면을 정지해 바라본 뒤, 같은 책상 선을 따라 프린터와 백팩 쪽으로 흘러가며 그녀의 준비 과정을 따라간다. 선택된 샷은 이 연속 이동의 출발점, 모니터 불빛에 고정된 긴장된 얼굴 관찰에 해당한다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly tighter than the stage default so the bright monitor light defines her face while the PC room falls into darkness.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide low position on the rain-lashed coastal road, about 25 meters ahead of the approaching path, lens at roughly 1 meter height facing down the shoreline road under the storm sky",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As lightning briefly exposes the road and the cyclist emerges through the rain, the camera starts moving backward along the same road axis to receive the approach.",
            "visual_focus": "dark coastline, heavy rain, storm clouds, and the empty road about to be entered by the cyclist"
          },
          {
            "camera_motion": "track",
            "camera_position": "Directly in front of the bicycle on the road centerline, moving backward at matching speed, lens at chest-to-handlebar height about 5 to 7 meters from the cyclist",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera gradually reduces the distance while continuing backward, letting spray and rain fill the foreground until the cyclist's silhouette and hands dominate the frame.",
            "visual_focus": "the cyclist forcing the bicycle through the downpour and splashing water"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very low frontal position just ahead of the bicycle, lens near handlebar height about 2 meters from the cyclist, aligned with the front wheel and face silhouette",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "the cyclist's front silhouette, tightly gripped handlebars, driving pedals, rain streaks, and bursts of lightning behind"
          }
        ],
        "flow_summary": "카메라는 폭우 속 해안가를 낮고 넓게 바라보다가, 번개에 드러난 자전거를 정면에서 맞으며 뒤로 물러난다. 마지막에는 자전거와 거의 같은 축에서 핸들, 페달, 수리영의 실루엣까지 압박감 있게 가까워진다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "Time the frame to a lightning flash so the face remains mostly a dark frontal silhouette while the hands on the handlebars and splashing water read sharply in the rain.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Just inside the rooftop room entrance, shoulder height, wide distance, looking diagonally across the ransacked living area toward the open bedroom doorway",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks forward through the disordered living area, letting the open bedroom doorway grow larger in frame.",
            "visual_focus": "overturned chairs, scattered household items, and the open path toward the bedroom"
          },
          {
            "camera_motion": "track",
            "camera_position": "Near the bedroom threshold, slightly behind and to the side of Suriyeong at standing eye level, medium distance",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera slips past Suriyeong's shoulder and continues into the bedroom, redirecting its gaze from her frozen body to the marked wall.",
            "visual_focus": "Suriyeong stopping at the open bedroom door and staring inside"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the bedroom, eye level, starting about six feet from the wall and moving straight toward the marked surface",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "After the push-in reaches the pinned photograph, the scene makes a logical cut to the bed area for Suriyeong's physical reaction.",
            "visual_focus": "the blood-red circle painted on the wall and the old blood-stained photograph pinned at its center"
          },
          {
            "camera_motion": "static",
            "camera_position": "At the foot of the bed, seated eye level, about five feet in front of Suriyeong, facing her directly",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "As her gaze drifts back toward the ruined room, the camera begins to pivot away from the frontal reaction toward the bedroom exit.",
            "visual_focus": "Suriyeong collapsing onto the edge of the bed in shock, holding the photograph"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Still near the foot of the bed, seated eye level, rotating from Suriyeong toward the bedroom doorway and the living area beyond",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's unsettled line of sight leading back toward the ransacked living room and the route out"
          }
        ],
        "flow_summary": "카메라는 난장판이 된 옥탑방 입구에서 시작해 수리영의 시선을 따라 방 안 벽의 붉은 원과 사진으로 밀고 들어간다. 사진의 충격 이후 침대 앞 정면 위치로 논리적 컷을 두고, 주저앉은 수리영의 반응에서 다시 출구 방향으로 시선을 돌린다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "Push-in ends in an extremely tight close-up so the red circle fills the wall plane and the pinned photograph sits dead center.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold the frontal angle steady and lower the frame slightly to emphasize her weight dropping onto the bed edge.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Very wide on the empty harbor edge at low eye level, about 18 meters from Suriyoung on the rocks, facing the fog-covered sea with the vacant pier stretching across frame",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward move from the harbor edge toward the rocks, narrowing the empty space around Suriyoung.",
            "visual_focus": "Suriyoung curled up alone on the rocks against the dense fog and empty harbor"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "On the wet harbor path beside the rocks, chest height, moving from a wide distance to about 3 meters from Suriyoung in profile",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "After reaching her side, the camera pivots its attention from Suriyoung toward the foggy water where movement begins to appear.",
            "visual_focus": "Suriyoung watching the foggy sea, exhausted and waiting"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near Suriyoung’s position on the rocks, chest height, angled over the waterline toward the harbor mouth",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "As the boat shape becomes legible, the camera tracks along the pier toward the mooring point to meet its arrival.",
            "visual_focus": "A small boat slowly emerging through the fog"
          },
          {
            "camera_motion": "static",
            "camera_position": "On the dock beside the moored boat, waist height, about 2 meters from Inwoo, placed slightly behind the rope line and looking at him in side profile",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Inwoo standing still after stepping off the boat, holding the rope with an unreadable expression"
          }
        ],
        "flow_summary": "카메라는 텅 빈 포구의 넓은 안개 속에서 수리영의 고립을 먼저 잡고, 그녀 곁으로 다가간 뒤 시선을 바다로 돌려 배의 출현을 따라간다. 이어 부두 쪽으로 이동해 배가 닿는 지점에서 인우의 무표정한 측면에 멈춘다.",
        "scene_index": 26,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Hold the frame slightly tighter on Inwoo’s side profile and the rope in his hand, keeping the foggy dock background subdued.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At eye level in the middle of the rooftop room living area, about 1.5 meters in front of Hyesu, facing her straight on with the messy room falling behind her.",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera begins a slow lateral track to the side, letting Hyesu remain in the foreground as the angle opens toward Detective Kim.",
            "visual_focus": "Hyesu's tense face as she listens to the phone message"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye level slightly off to Hyesu's front-left side, about 2 meters away, sliding toward Detective Kim's side of the room.",
            "stage_index": 2,
            "stage_label": "reaction",
            "transition_to_next": "As the rattling sound grows, the camera leaves the two figures with a controlled pan toward the entrance, following the direction of the noise.",
            "visual_focus": "Detective Kim's indifferent reaction beside Hyesu"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Near the interior threshold of the rooftop room, at chest height, moving closer to the partially open entrance door from inside the room.",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The entrance door pushed ajar by the strong wind"
          }
        ],
        "flow_summary": "카메라는 어수선한 옥탑방 한가운데의 혜수를 정면으로 붙잡은 뒤, 옆으로 흐르며 김형사의 반응을 지나 현관문 소리의 근원으로 시선을 옮긴다. 인물의 불안에서 공간의 황량함으로 이어지는 하나의 내부 이동으로 구성한다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly tighter on Hyesu's face while keeping the phone at her ear visible.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low shoulder-height position near the port-side deck rail, three meters from the seated Suriyeong, angled across the deck toward Inwoo with the sunset sea behind them",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins sliding forward along the line of the offered map, narrowing the distance between Suriyeong's hand and Inwoo.",
            "visual_focus": "Suriyeong seated on the deck, extending the map toward Inwoo across the open deck"
          },
          {
            "camera_motion": "track",
            "camera_position": "Mid-deck position between Suriyeong and Inwoo, at chest height, moving laterally to align with Inwoo's front as he looks down",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "As the conversation turns from the map to the old photograph, the camera continues inward and drops into a tighter eyeline position near Inwoo.",
            "visual_focus": "Inwoo's tense attention on the map and Suriyeong pressing him for an answer"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight eye-level position just in front of Inwoo, less than one meter away, with the old photograph entering close to the lens from Suriyeong's side",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The push-in reaches Inwoo's frozen reaction, then the camera releases into a handheld follow as he breaks away toward the wheelhouse.",
            "visual_focus": "Inwoo's face freezing as he recognizes something in the old photograph"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Behind and slightly to the side of Inwoo at shoulder height, moving from the deck toward the wheelhouse entrance",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Inwoo abruptly turning and rushing toward the wheelhouse while Suriyeong follows to stop him"
          }
        ],
        "flow_summary": "카메라는 해질 무렵 갑판 한쪽에서 수리영이 지도를 내미는 구도를 잡은 뒤, 지도와 사진을 따라 인우 쪽으로 점점 압박하듯 접근한다. 인우의 얼어붙은 얼굴에 밀착한 후, 그의 돌발적인 움직임을 따라 조타실 방향으로 흔들리며 이어진다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "Frames Suriyeong in side profile more strongly than the stage default, keeping the map thrust toward Inwoo as the main directional line.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Uses the end of the dolly-in as a locked close-up, allowing the photograph to fall out of emphasis while Inwoo's widened eyes dominate the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the cramped wheelhouse near the side doorway, chest height, medium distance from Suriyoung and Inwoo, looking across the narrow space between them",
            "stage_index": 1,
            "stage_label": "establishing_tension",
            "transition_to_next": "The camera begins a slow push inward and lowers toward the object in Suriyoung's hands as the argument narrows onto the photograph.",
            "visual_focus": "Suriyoung and Inwoo facing each other in the wheelhouse tension"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low and close beside Suriyoung's hands, just above the console height, within arm's length of the old photograph",
            "stage_index": 2,
            "stage_label": "photo_identification",
            "transition_to_next": "After holding on the finger and photograph, the camera rises and tracks around the line between them toward Inwoo's shoulder.",
            "visual_focus": "Suriyoung's finger stopped on the child's image in the old photograph"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind Inwoo's shoulder at eye level, about one meter back, angled past him toward the wheelhouse wall",
            "stage_index": 3,
            "stage_label": "wall_reveal",
            "transition_to_next": "The camera continues its lateral track until the red circles dominate the background, then pivots back toward Suriyoung as her strength gives out.",
            "visual_focus": "blood-red circular marks covering the wheelhouse wall beyond Inwoo"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Close beside Inwoo and Suriyoung at shoulder height, slightly off their flank, close enough to catch her body dropping into him",
            "stage_index": 4,
            "stage_label": "collapse_transition",
            "transition_to_next": "The camera completes the downward tilt with Suriyoung's collapse, then settles slightly higher and tighter on Inwoo's side profile.",
            "visual_focus": "Suriyoung losing consciousness against Inwoo's shoulder"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight side angle beside Inwoo's face at eye level, very close, with Suriyoung's collapsed head and shoulder entering the lower foreground",
            "stage_index": 5,
            "stage_label": "cold_observation",
            "transition_to_next": "",
            "visual_focus": "Inwoo's cold side profile looking down at unconscious Suriyoung"
          }
        ],
        "flow_summary": "카메라는 좁은 조타실의 대치 구도에서 시작해 수리영의 손과 사진으로 낮게 파고든 뒤, 인우의 어깨 너머 벽의 붉은 원형 표식들을 드러내며 공포의 초점을 이동시킨다. 이후 수리영의 의식이 무너지는 움직임을 따라 내려갔다가, 마지막에는 그녀를 내려다보는 인우의 차가운 옆얼굴에 멈춘다.",
        "scene_index": 29,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter than the stage default so only the old photograph, the child's image, and Suriyoung's index finger dominate the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Use Inwoo's shoulder as a dark foreground edge while letting the red circular marks fill the wall behind him in a colder, more graphic composition.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold longer than the preceding collapse movement, keeping Inwoo's expression sharp while Suriyoung remains slack against his shoulder.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Very wide offshore position at low eye level just above the water surface, far behind the small fishing boat, facing the sunset horizon and the dense fog bank ahead",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward track over the water, aligning behind the boat as it moves toward the fog wall.",
            "visual_focus": "the golden sunset reflection across the sea and the vast dark fog wall on the horizon"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low trailing position several boat lengths behind the small fishing boat, slightly above wave height, centered on the boat's silhouette against the towering fog wall",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Without cutting, the camera keeps the same trailing line and follows the boat forward as the bow crosses into the fog.",
            "visual_focus": "the clear silhouette of the small fishing boat arriving at the edge of the massive fog wall"
          },
          {
            "camera_motion": "track",
            "camera_position": "Close trailing position behind the small fishing boat at low water level, entering the outer mist with the stern still visible and the bow disappearing ahead",
            "stage_index": 3,
            "stage_label": "absorption",
            "transition_to_next": "",
            "visual_focus": "the boat gradually swallowed by the pale fog as the golden sea fades behind it"
          }
        ],
        "flow_summary": "카메라는 황금빛 바다와 안개 벽을 멀리서 바라보는 낮은 시점에서 시작해, 어선의 뒤를 따라 천천히 전진한다. 어선이 안개 벽 앞에 선명한 실루엣으로 드러난 뒤, 같은 축을 유지한 채 안개 속으로 함께 들어간다.",
        "scene_index": 30,
        "shot_assignments": [
          {
            "deviation_note": "안개 벽의 압도적인 크기와 어선의 작은 실루엣이 동시에 보이도록 단계 기본 위치보다 약간 더 넓은 프레이밍을 유지한다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "beaf8612-8351-4254-b544-f5b49268b005",
  "resolved_model": "gpt",
  "updated_at": "2026-06-30T22:37:38.260455+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}