{
  "status": "completed",
  "completed_count": 28,
  "applicable_count": 28,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very low in the underbrush at ground level, about 0.5 meters from the injured man's legs, moving toward his body through the foliage",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera continues forward along the man's body line and tilts upward from the lower body toward his face, tightening the sense of panic.",
            "visual_focus": "the injured man collapsed among the bushes, with emphasis on his wounded lower body and trapped posture"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Close to the injured Korean man's face, slightly below his eye line, about 0.4 meters away, angled upward as if pressed into the forest floor with him",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As his gaze snaps upward, the camera abruptly pulls back and lowers into a frontal axis, allowing the attacking shape to enter the frame from above and drive the action into the ground.",
            "visual_focus": "the injured Korean man's terrified face as he looks upward"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Low frontal position about 1.5 meters from the man's upper body, lens height around 0.6 meters, facing him head-on across the forest floor",
            "stage_index": 3,
            "stage_label": "impact_reveal",
            "transition_to_next": "",
            "visual_focus": "the black silhouette slamming down onto the injured man and pinning his upper body to the ground"
          }
        ],
        "flow_summary": "카메라는 수풀 속 낮은 위치에서 부상당한 남자의 몸을 따라 다가가 얼굴의 공포를 포착한 뒤, 그의 시선이 향한 위쪽의 위협을 받아들이듯 급히 물러난다. 마지막에는 정면 낮은 축에서 검은 인영이 남자를 덮치는 충격을 한 흐름으로 받아낸다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "Use an extremely tight close-up within the stage, holding the frame on the man's upward-looking eyes and fear-stricken expression.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Widen slightly from the previous facial proximity to include the man's upper body and the full impact of the black silhouette pressing him down.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the mouth of a narrow back alley, eye-level, several meters away from the utility pole, angled slightly from the side under the dim streetlight",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow dolly forward along the alley wall, closing the distance while keeping the two figures aligned against the utility pole.",
            "visual_focus": "the two figures pressed near the utility pole beneath the streetlight"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close to the man’s face at shoulder height, slightly off to the woman’s neck side, with the lens compressed against the dark alley background",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As the woman loses strength, the camera eases downward with a controlled tilt, following the fall from the man’s face toward the ground.",
            "visual_focus": "the Korean man’s face, his flashing red eyes, and the tense contact at the woman’s neck"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Low near the pavement beside the utility pole, close to the fallen woman’s upper body, looking across the ground toward the base of the alley wall",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "the unconscious Korean woman collapsed on the alley floor"
          }
        ],
        "flow_summary": "카메라는 어두운 뒷골목 입구에서 전봇대 아래의 두 사람을 멀리 포착한 뒤, 남자의 얼굴로 천천히 파고들어 붉은 눈동자를 고정한다. 이후 여자가 쓰러지는 움직임을 따라 시선이 아래로 떨어지며 바닥의 결과를 드러내는 흐름이다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "The frame tightens into a locked close-up so the red eyes dominate the image while the woman’s neck remains only partially present at the edge of frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide news-camera position at chest height, just outside the police line in the forest, several meters from the covered body and the surrounding officers",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow lateral track along the police line, keeping the investigation area in view while shifting attention toward the command side of the scene.",
            "visual_focus": "the covered body on the ground, the police line, and officers holding the perimeter"
          },
          {
            "camera_motion": "track",
            "camera_position": "Medium distance at eye level, moving parallel to the police line from the body recovery area toward the officers coordinating the scene",
            "stage_index": 2,
            "stage_label": "approach_command",
            "transition_to_next": "The track settles into a tighter frontal angle on Hyesu near the line, as if the news camera has found the person directing the response.",
            "visual_focus": "officers moving through the taped-off area and the command cluster near the edge of the forest"
          },
          {
            "camera_motion": "static",
            "camera_position": "Medium close frontal position at eye level, just outside the police line, a few meters from Hyesu",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Hyesu's firm face as she stands guard with a radio near the police line"
          }
        ],
        "flow_summary": "카메라는 뉴스 화면처럼 숲속 폴리스 라인 밖에서 시신 수습 현장을 넓게 잡은 뒤, 라인을 따라 이동하며 수사 지휘 쪽으로 시선을 옮긴다. 선택된 정지 화면은 이 흐름의 첫 지점, 사건 현장을 설명하는 establishing 단계에 해당한다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "Held as a frozen news still rather than continuing the stage's later lateral movement.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "Very high above the outskirts of Incheon, looking downward at a wide angle, with the camera held well above the old low-rise buildings and rooftop rooms",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow descending drift toward the cluster of old villas, keeping the rooftop room within the wider neighborhood context.",
            "visual_focus": "The old villa rooftop room and the surrounding outskirts under a clear sky"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "High but closer to the old villa rooftop, angled downward from across the block at a distant exterior vantage",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "",
            "visual_focus": "The rooftop room becoming more prominent against the surrounding neighborhood"
          }
        ],
        "flow_summary": "카메라는 인천 변두리 상공의 넓은 부감에서 시작해 낡은 빌라 옥탑방을 중심으로 천천히 가까워지는 흐름을 가진다. 선택된 쇼트는 이 이동의 첫 단계, 지역 전체의 불안한 분위기를 세우는 넓은 설정 위치에 배정된다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "Holds the frame especially wide to include both the rooftop room and the surrounding neighborhood rather than moving into the closer approach yet.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the rooftop room near the small window, chest height, medium-wide distance from the kitchen sink, angled across the sink toward Minsuk and the television area.",
            "stage_index": 1,
            "stage_label": "tense_observation",
            "transition_to_next": "As Minsuk kills the television, the camera pans and tracks right toward the room door and dining table, following the shift from secrecy to domestic conversation.",
            "visual_focus": "Minsuk frozen between the sink and the television, her hand extended with the TV remote"
          },
          {
            "camera_motion": "track",
            "camera_position": "Between the kitchen counter and the dining table, seated eye level, close enough to move between Minsuk and Su-riyoung without breaking the room geography.",
            "stage_index": 2,
            "stage_label": "domestic_exchange",
            "transition_to_next": "A clean cut jumps forward in time to the front door area, marking the later departure beat while staying inside the same rooftop room.",
            "visual_focus": "Su-riyoung at the table and Minsuk serving her while the earlier tension is being concealed"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Just inside the front door, waist height, side-on to the entry area, with Su-riyoung in the foreground and Minsuk slightly deeper in the room.",
            "stage_index": 3,
            "stage_label": "entry_transition",
            "transition_to_next": "From the side-on entry view, the camera tracks closer toward Minsuk and Su-riyoung as their farewell becomes intimate.",
            "visual_focus": "Su-riyoung preparing to leave while speaking back toward Minsuk"
          },
          {
            "camera_motion": "track",
            "camera_position": "Near the front door at shoulder height, close side distance from Minsuk and Su-riyoung, angled to catch Su-riyoung's profile as she leans toward Minsuk.",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "The camera holds the same closeness, then tilts and reframes downward from their faces toward Minsuk's wrist as Su-riyoung's attention briefly drops.",
            "visual_focus": "Su-riyoung's side profile close to Minsuk, eyes closed as she notices Minsuk's familiar scent"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Extreme close range beside Minsuk near the front door, slightly below chest height, lens aligned directly with her wrist.",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The distinct circular mark on Minsuk's wrist"
          }
        ],
        "flow_summary": "카메라는 싱크대와 TV 앞의 불안한 민숙에게서 시작해 식탁 대화로 부드럽게 흐른 뒤, 시간 경과를 알리는 컷으로 현관 쪽에 도착한다. 마지막에는 수리영과 민숙의 가까운 거리에서 아래로 시선을 떨어뜨려 손목의 표식을 조용히 드러낸다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the framing within the stage so Minsuk's startled eyes and the remote in her extended hand dominate the image, freezing the motion just before the television goes dark.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 1
          },
          {
            "deviation_note": "Favor Su-riyoung's side profile in a close frame while keeping Minsuk only as the immediate presence she leans toward.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 4
          },
          {
            "deviation_note": "Push into a macro-like close-up that excludes both faces and isolates the unusually clear round mark on the wrist.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "On the seaward side of the coastal road, low at bicycle-wheel height, moving parallel to Suriyoung at a medium distance",
            "stage_index": 1,
            "stage_label": "parallel_ride",
            "transition_to_next": "The camera keeps pace, then glides forward along the bicycle's front quarter while rising toward Suriyoung's face.",
            "visual_focus": "Suriyoung riding the bicycle with the coastline moving behind her"
          },
          {
            "camera_motion": "track",
            "camera_position": "Front-left of Suriyoung at eye height, very close to her face, maintaining speed beside the moving bicycle",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's smiling face as she closes her eyes into the sea breeze"
          }
        ],
        "flow_summary": "카메라는 해안가 도로를 달리는 수리영을 바다 쪽에서 나란히 따라가다가, 자전거의 앞쪽으로 부드럽게 붙으며 얼굴 클로즈업으로 압축된다. 움직임은 계속 주행의 속도를 유지해 바람과 해방감을 끊기지 않게 전달한다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Hold the close-up slightly longer than the traveling motion suggests, letting her closed eyes and smile become the emotional peak of the movement.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low inside the kennel, just behind the metal bars at the Rottweiler's chest height, less than two feet from the animal",
            "stage_index": 1,
            "stage_label": "establishing_threat",
            "transition_to_next": "The camera tracks backward from the kennel bars into the aisle, keeping the dog in frame as Suriyeong's position across from it becomes the new axis.",
            "visual_focus": "the snarling Rottweiler rearing against the kennel bars"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "In the narrow aisle outside the kennel, eye level with Suriyeong, positioned between her and the dog at a cautious diagonal angle",
            "stage_index": 2,
            "stage_label": "approach_confrontation",
            "transition_to_next": "As the dog loses force, the camera eases sideways along the kennel front and lowers toward the animal's flank, allowing the veterinarian's action to enter the edge of the frame.",
            "visual_focus": "Suriyeong locking eyes with the Rottweiler as its aggression softens"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Outside the kennel at standing height, three to four feet back from the bars, wide enough to include the dog, the veterinarian's working space, and Suriyeong in the aisle",
            "stage_index": 3,
            "stage_label": "release_and_burden",
            "transition_to_next": "The camera continues withdrawing down the aisle with Suriyeong as her attention shifts from the calmed dog to the many waiting kennels, then settles beside her hand as she checks her phone.",
            "visual_focus": "Suriyeong absorbing the workload after the injection is finished"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight beside Suriyeong at shoulder height in the shelter aisle, close enough for her phone and face to share the frame",
            "stage_index": 4,
            "stage_label": "close_observation_phone",
            "transition_to_next": "The shelter assistant's offscreen call motivates a clean cut to the grooming area, changing location after the brief pause on Suriyeong's unanswered call.",
            "visual_focus": "Suriyeong's tense face while she looks at the phone screen"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "At the grooming wash station, chest height and within arm's reach of Suriyeong, angled slightly down toward the small dog she is washing",
            "stage_index": 5,
            "stage_label": "work_routine",
            "transition_to_next": "",
            "visual_focus": "Suriyeong working quickly with a soapy dog at the wash station"
          }
        ],
        "flow_summary": "카메라는 철창 안의 위협적인 맹견에서 시작해 수리영의 시선과 보호원 복도를 따라 물러나며 그녀에게 몰려드는 일을 드러낸다. 이후 휴대폰 확인의 정지된 순간을 거쳐, 도우미의 부름에 따라 목욕 공간으로 컷 되어 수리영의 분주한 돌봄 작업으로 이어진다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly lower than the stage default so the raised front paws, bared teeth, and kennel bars dominate the foreground.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Push the framing tighter than the stage default into a close-up, letting the phone screen sit just below frame emphasis while Suriyeong's hardened expression carries the shot.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          },
          {
            "deviation_note": "Hold an upper-body composition that includes Suriyeong's hands resting on the soapy dog, keeping the action tactile rather than fully wide.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "pan",
            "camera_position": "Across the busy street from the large mart entrance, chest-height, about 10 meters from Suriyeong and the bicycle, facing the neon-lit storefront.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera pans with Suriyeong as she parks the bicycle, then begins a forward track toward the entrance to follow her inside.",
            "visual_focus": "Suriyeong arriving at the mart entrance with the bicycle amid evening street activity"
          },
          {
            "camera_motion": "track",
            "camera_position": "Just inside the mart entrance, shoulder-height, 2 to 3 meters behind and slightly to the side of Suriyeong, moving along the front aisle.",
            "stage_index": 2,
            "stage_label": "search_approach",
            "transition_to_next": "The camera arcs around Suriyeong as she spots the familiar female employee, settling into a closer frontal position near the boxes.",
            "visual_focus": "Suriyeong scanning the aisles and looking for her mother"
          },
          {
            "camera_motion": "static",
            "camera_position": "Eye-level, about 1.2 meters in front of Suriyeong, with the female employee and empty boxes close to the foreground edge inside the aisle.",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "When the male employee speaks, the camera pans and shifts left down the aisle toward the shelving area where he is working.",
            "visual_focus": "Suriyeong's questioning face as she stands before the female employee holding empty boxes"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Beside the product shelves at eye-level, about 1.5 meters from the male employee, angled to keep Suriyeong within the same aisle space.",
            "stage_index": 4,
            "stage_label": "reveal_reaction",
            "transition_to_next": "After the employees suggest she go home, the camera tracks back with Suriyeong through the aisle and out toward the mart entrance, continuing the movement to the exterior.",
            "visual_focus": "The male employee's information and Suriyeong's confused reaction"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Outside the mart entrance in the darker street light, handlebar-height at about 0.9 meters, within 1 meter of the bicycle, looking slightly upward toward Suriyeong.",
            "stage_index": 5,
            "stage_label": "withdraw_anxiety",
            "transition_to_next": "",
            "visual_focus": "Suriyeong gripping the bicycle handlebar tightly with a hardened expression after failing to reach her mother"
          }
        ],
        "flow_summary": "카메라는 해질녘 마트 외부에서 수리영을 따라 안으로 들어가고, 직원들과의 대화를 거치며 점점 그녀의 표정에 가까워진다. 이후 다시 출구로 빠져나와 어두워진 거리의 자전거 앞에서 불안이 굳어지는 순간에 멈춘다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly tighter on Suriyeong's widened eyes, keeping the female employee and empty boxes as foreground context rather than equal subjects.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          },
          {
            "deviation_note": "Let the bicycle handlebar and Suriyeong's tense hand dominate the foreground while her hardened face remains visible beyond it.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "On the seaward shoulder of the dark coastal road, about 1.2 meters high and 4 meters from the bicycle, moving parallel with Suriyoung at a slight front-side angle",
            "stage_index": 1,
            "stage_label": "establishing_track",
            "transition_to_next": "The camera keeps matching the bicycle speed, then lowers and slides closer toward the crank area without breaking the parallel movement.",
            "visual_focus": "Suriyoung riding fast along the coastal road, with the road darkness and shoreline edge framing her urgency"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low beside the bicycle at pedal height, about 0.5 meters above the road and 1 meter from Suriyoung, still traveling parallel to her motion",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera rises along the bicycle frame and arcs slightly forward toward Suriyoung's side profile, maintaining the same traveling speed.",
            "visual_focus": "Suriyoung's tense lower body effort, especially the foot driving the pedal downward"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside Suriyoung at shoulder height, about 0.8 meters from her side, moving parallel on the road side as wind passes across her face",
            "stage_index": 3,
            "stage_label": "reaction_follow",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's side face and hair pulled back by the speed of the ride"
          }
        ],
        "flow_summary": "카메라는 밤 해안도로를 달리는 수리영과 나란히 이동하다가, 그녀의 다급한 페달링을 포착하기 위해 낮게 붙어 들어간다. 이후 같은 속도를 유지한 채 위로 떠오르며 얼굴 쪽으로 이어지는 연속 추적 동선이다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the frame to catch the exact mid-pedal downstroke, emphasizing her clenched lips only as a tense detail within the low side tracking composition.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low on the rooftop floor beside the wooden platform, about 20 cm above ground, several meters from the iron door, angled across the wind-swept rooftop toward the doorway",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to track along the ground with the wind-blown dried leaves, carrying the eye from the rooftop platform toward the approaching shoes near the door.",
            "visual_focus": "dried herb leaves, rooftop floor texture, laundry line movement, and the distant iron door"
          },
          {
            "camera_motion": "track",
            "camera_position": "Ankle-height on the rooftop floor directly in front of the iron door threshold, close to the ground and slightly off to one side of the entrance",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera creeps upward and inward along the door line, shifting attention from the shadow on the floor to the narrow gap at the door.",
            "visual_focus": "the stranger's elongated shadow falling across the floor before the iron door"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight beside the iron doorjamb at hand height, less than half a meter from the door gap, looking into the seam between door and frame",
            "stage_index": 3,
            "stage_label": "breach",
            "transition_to_next": "As the lock gives way and the door opens slightly, the camera passes through the dark gap with a cut into the interior space.",
            "visual_focus": "the flyer wedged in the door crack, the stranger's hand pressing it inward, and the door beginning to loosen"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Inside the dark room at chest height, just beyond the entrance, facing toward the dim interior and the window surface that catches reflections",
            "stage_index": 4,
            "stage_label": "interior_reveal",
            "transition_to_next": "The camera pivots and rushes from the reflected threat toward Minsuk as the attack lands, collapsing the distance into an immediate close view.",
            "visual_focus": "Minsuk in the dark room and the looming reflected silhouette closing over her shoulder"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Very close at face height in front of Minsuk, within arm's length, unstable and compressed against the action",
            "stage_index": 5,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Minsuk's distorted face, open mouth, and the force of hands gripping her shoulder"
          }
        ],
        "flow_summary": "카메라는 옥상 바닥의 낮은 시점에서 바람에 밀려 문 앞으로 접근하고, 낯선 남자의 그림자를 따라 철문 틈으로 침입한다. 이후 어두운 실내로 컷 인되어 창문 반사 속 위협을 드러낸 뒤, 민숙의 얼굴 클로즈업으로 급격히 밀착한다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame low and exclude the stranger's body and face; let only the stretched shadow dominate the floor before the door.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten further than the stage default into an abrupt close-up, emphasizing her open mouth and distorted expression while keeping the grip on her shoulder partially visible.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Outside the rooftop room at night, eye level, moving from the stair landing toward the half-open metal entrance door at close following distance behind Su-riyeong",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera follows Su-riyeong through the half-open doorway, maintaining the same forward momentum into the dim interior.",
            "visual_focus": "the half-open entrance door and Su-riyeong reacting to the smell"
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside the living room, eye level, about 1.5 meters behind and slightly to the side of Su-riyeong as she crosses from the entrance toward the inner rooms",
            "stage_index": 2,
            "stage_label": "interior_survey",
            "transition_to_next": "As Su-riyeong reaches her bedroom door, the camera lowers and slips past the doorway line toward the floor, beginning a searching movement into the room.",
            "visual_focus": "the unsettling empty living room details and Su-riyeong's movement toward the bedroom"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside Su-riyeong's bedroom, very low to the floor, 20 to 30 centimeters above the ground, just inside the doorway and facing toward the blood on the floor",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera continues forward along the blood trail toward the curtain, then rises slightly as Su-riyeong reaches to pull the fabric aside.",
            "visual_focus": "the pooled blood on the bedroom floor and the direction of the bloody traces"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Inside the bedroom near the window, waist height, about 2 meters from the curtain, facing the space behind it as the curtain is opened",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "After holding on the revealed body, the camera cuts closer and lower to the floor beside Minsuk's hand for the evidence detail.",
            "visual_focus": "Minsuk's collapsed full body seated behind the curtain"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Beside Minsuk's body, low and very close to the floor, 15 to 25 centimeters from her hand and wrist",
            "stage_index": 5,
            "stage_label": "evidence_close_observation",
            "transition_to_next": "",
            "visual_focus": "the round mark on Minsuk's wrist as it turns red"
          }
        ],
        "flow_summary": "카메라는 수리영을 따라 옥탑방 안으로 밀려 들어간 뒤, 방 안에서는 시선을 낮춰 바닥의 피를 따라 커튼까지 이동한다. 커튼 뒤 민숙의 시신을 드러낸 후, 충격의 공간에서 더 가까운 증거인 손목 표식으로 수축하듯 접근한다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "바닥 높이를 더 낮추고 렌즈를 핏자국 표면 가까이에 붙여, 주변 공간은 흐리게 두고 붉은 고임만 강조한다.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 3
          },
          {
            "deviation_note": "커튼이 걷힌 직후 틸트가 멈추며 민숙의 축 늘어진 전신을 한 프레임 안에 고정한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 4
          },
          {
            "deviation_note": "손목의 둥근 표식만 프레임 중심에 두도록 더 타이트하게 들어가며, 붉게 변하는 색 변화에 초점을 고정한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 20,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Outside the rooftop stairwell, eye-level, about 8 feet from 수리영 at the lower landing, angled slightly upward toward her face with 혜수 approaching from off-camera",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera stays with 혜수's urgency, then swings toward the stairwell and begins moving upward behind her and 김형사 as they rush back toward the rooftop room.",
            "visual_focus": "수리영's tearful, stunned face as she looks up toward 혜수"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "On the narrow rooftop stairs, shoulder height, following 4 to 6 feet behind 혜수 and 김형사 as they climb toward the open doorway",
            "stage_index": 2,
            "stage_label": "transition",
            "transition_to_next": "At the doorway, the movement resolves into a cut inside the room, preserving the forward momentum into the search.",
            "visual_focus": "혜수 and 김형사 rushing up the stairs toward the rooftop room entrance"
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside 수리영's room doorway, eye-level, starting just outside the threshold and drifting inward to a wide view about 10 feet from the bed and floor objects",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "The camera pulls its attention back out from the room into the living area as 수리영 moves to check the table, shifting the route from bedroom reveal to household search.",
            "visual_focus": "the unnaturally clean room, with no blood or body, only the doll and backpack left in the space"
          },
          {
            "camera_motion": "pan",
            "camera_position": "In the living area near the table, chest height, positioned between the bedroom doorway and the main exit, allowing 수리영, 혜수, and 김형사 to pass through the frame",
            "stage_index": 4,
            "stage_label": "confrontation",
            "transition_to_next": "After 김형사 exits, the camera rotates away from the empty doorway and closes the distance toward 혜수 and 수리영 for a quieter front-facing emotional beat.",
            "visual_focus": "수리영's confusion, 김형사's skepticism, and 혜수's protective reaction"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "In the living area, eye-level, directly facing 혜수 from just behind 수리영's shoulder line, tightening from a medium distance to about 4 feet",
            "stage_index": 5,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "혜수 holding 수리영's shoulders and looking at her with controlled tenderness"
          }
        ],
        "flow_summary": "카메라는 옥탑방 외곽에서 충격에 빠진 수리영에게 다가간 뒤, 혜수와 김형사의 움직임을 따라 계단과 현관을 거쳐 방 안으로 진입한다. 이후 사라진 흔적을 확인하는 실내 동선을 거쳐, 김형사가 빠져나간 뒤 혜수와 수리영의 정면 감정선으로 조용히 수렴한다.",
        "scene_index": 12,
        "shot_assignments": [
          {
            "deviation_note": "Tighten from the stage's approach distance into a close-up, holding 수리영's eyes and lifted chin while 혜수 remains only as the implied eyeline.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 1
          },
          {
            "deviation_note": "Settle the tracking movement into a steadier wide interior frame so the missing blood and absent body are readable, with the doll and backpack isolated in the clean room.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 3
          },
          {
            "deviation_note": "Frame 혜수 frontally with 수리영 partially anchoring the foreground; soften the push-in so the comfort gesture, not the prior urgency, dominates the moment.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 13,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "At the front-left of the bus stop bench, chest height, about 6 feet from the seated figure, angled slightly toward the sea-facing side of the bench",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "As Suriyoung rises, the camera eases closer and shifts its axis to catch her face tightening before letting her move out of the bench area.",
            "visual_focus": "Suriyoung gathering resolve on the bench"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Just outside the bus stop shelter at shoulder height, holding near the bench line and rotating toward the road that leads into the dark coastal distance",
            "stage_index": 2,
            "stage_label": "departure",
            "transition_to_next": "The camera follows Suriyoung's movement with a pan as she breaks away from the stop, allowing her to pull farther into the darkness while the bench remains behind the camera side.",
            "visual_focus": "Suriyoung running away from the bus stop into the dark roadside"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near the same bus stop edge at chest height, now swung back toward the bench and road shoulder, about 5 feet from Hyesu",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Hyesu calling after the departing Suriyoung"
          }
        ],
        "flow_summary": "카메라는 버스정류장 벤치 앞에서 수리영의 결심을 가까이 관찰한 뒤, 그녀가 어둠 속으로 뛰쳐나가는 방향으로 몸을 돌려 따라간다. 수리영이 멀어지면 같은 자리의 축을 되돌려 혜수가 등 뒤에 대고 외치는 반응을 포착한다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "Tighten from the stage's general close observation into a firmer upper-body framing, emphasizing Suriyoung half-risen from the bench and her closed, determined mouth.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 1
          },
          {
            "deviation_note": "Keep the camera slightly lower and behind her path so the mid-stride back view feels kinetic as she exits the stop into darkness.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Settle the pan into a steadier upper-body frame, with Hyesu's hand near her mouth as she shouts toward the distance.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the police office doorway, eye level, medium distance, aligned with the entrance path into the room",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks forward with Hyesu as she enters, keeping the duty desk deeper in the frame.",
            "visual_focus": "Hyesu entering while trying to reach Minsuk by phone"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near the front corner of the duty desk, slightly above seated eye level, medium distance from Detective Kim",
            "stage_index": 2,
            "stage_label": "reaction",
            "transition_to_next": "As Hyesu steps closer, the camera pans and shifts toward the side line between her hand and Detective Kim's face.",
            "visual_focus": "Detective Kim at the desk reacting to Hyesu's urgency"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight side angle beside the desk, standing chest height, close to Detective Kim's face with Hyesu's extended hand entering the foreground",
            "stage_index": 3,
            "stage_label": "confrontation_reveal",
            "transition_to_next": "The camera leaves the phone-and-face axis with a short lateral move toward Hyesu, then pushes closer to isolate her anxiety.",
            "visual_focus": "Hyesu thrusting the phone screen toward Detective Kim's face"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Front-side close position on Hyesu, eye level, within arm's length, with the desk area falling out of emphasis behind her",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu gripping the phone tightly and staring into empty space with rising unease"
          }
        ],
        "flow_summary": "카메라는 사무실 입구에서 혜수를 따라 안쪽 책상으로 이동한 뒤, 김형사 앞에 휴대폰을 내미는 순간을 측면에서 붙잡는다. 이후 시선축을 혜수 쪽으로 좁히며, 휴대폰을 쥔 채 불길한 예감을 드러내는 얼굴로 밀착한다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "Frame the phone screen as the nearest foreground element, partially interrupting Detective Kim's face while Hyesu remains in side profile.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten the push-in so the clenched phone hand stays visible at the lower edge while Hyesu's stare dominates the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide exterior position at ground level in the empty courtyard, about 12 meters from the rooftop room facade, lens held at human chest height and aimed slightly upward toward the lit window in the dawn gloom",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward track across the courtyard, keeping the lit rooftop window as the anchor while the wall line enters the foreground.",
            "visual_focus": "the empty courtyard and the illuminated rooftop room window"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving from the courtyard center toward the perimeter wall, still at chest height, closing the distance to about 5 meters from the wall and shifting the window higher in frame",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera eases its forward movement into a slight pan toward the top of the wall, redirecting attention from the window to the place where movement is heard.",
            "visual_focus": "the lit window beyond the courtyard and the dark wall edge below it"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near the courtyard wall at chest height, angled upward along the wall cap, close enough to isolate the top edge against the dim sky",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "The camera holds the wall line, then follows the motion over the wall with a small upward tilt as the presence exits the courtyard space.",
            "visual_focus": "the top of the wall where a black cat appears and prepares to cross"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Tight exterior position beside the wall, lens angled upward from just below the wall cap, maintaining the same side of the courtyard as the cat clears the edge",
            "stage_index": 4,
            "stage_label": "exit_motion",
            "transition_to_next": "",
            "visual_focus": "the black cat moving over the wall and out of view"
          }
        ],
        "flow_summary": "카메라는 텅 빈 마당의 전경에서 불 켜진 옥탑방 창문을 고정해 새벽의 정적을 세운 뒤, 담장 쪽으로 천천히 접근하며 소리의 근원을 따라간다. 이후 시선은 창문에서 담장 위로 옮겨가 고양이의 등장과 이탈을 자연스럽게 받아낼 수 있는 흐름으로 이어진다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wider and emptier than the later movement stages, emphasizing dawn stillness before any cat movement is revealed.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low beside the bed, at pillow height, within arm's length of Suriyeong's face, lens angled slightly upward so her awakened eyes and the empty ceiling share the same axis",
            "stage_index": 1,
            "stage_label": "awakening_close_observation",
            "transition_to_next": "The camera rises and tracks with Suriyeong as she leaves the bed, following her line of sight toward the closed door and into the next room.",
            "visual_focus": "Suriyeong's startled face and her fixed gaze toward the empty ceiling"
          },
          {
            "camera_motion": "track",
            "camera_position": "Shoulder-height behind and slightly to the side of Suriyeong, moving from the bedroom threshold through the adjacent room toward the window and curtains",
            "stage_index": 2,
            "stage_label": "search_and_reassurance",
            "transition_to_next": "After the phone call and the decision to leave, the movement follows her out of the room, then cuts cleanly to the bathroom mirror position.",
            "visual_focus": "Suriyeong searching the orderly room, the clean window area, and her anxious reaction"
          },
          {
            "camera_motion": "static",
            "camera_position": "Directly in front of the bathroom mirror at sink height, close enough for the mirror surface to fill most of the frame while still catching the tiled wall in reflection",
            "stage_index": 3,
            "stage_label": "mirror_reveal",
            "transition_to_next": "The camera holds through the apparition, then pivots with Suriyeong's sudden head turn toward the real wall before breaking into a handheld move out of the bathroom.",
            "visual_focus": "The mirror reflection revealing a red circle on the bathroom tile behind Suriyeong"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Chest-height, retreating backward from the bathroom doorway into the living area, keeping a tense distance of about two meters from Suriyeong as she rushes to the table",
            "stage_index": 4,
            "stage_label": "panic_exit",
            "transition_to_next": "The handheld retreat settles near the dining table and narrows its angle down toward the framed photograph in her hands.",
            "visual_focus": "Suriyeong moving from the bathroom into the living area, drinking water, and approaching the framed photograph"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close above the dining table, lens lowered to the level of the framed photograph, angled down so the glass surface and the mother's face dominate the frame",
            "stage_index": 5,
            "stage_label": "photo_hallucination_close_observation",
            "transition_to_next": "",
            "visual_focus": "The framed photograph on the table and the mother's smiling face distorting on its surface"
          }
        ],
        "flow_summary": "카메라는 침대 곁 수리영의 각성에서 출발해 방을 수색하는 동선을 따라가다가, 욕실 거울 앞에서 불길한 이미지를 정지하듯 포착한다. 이후 불안정한 움직임으로 거실 식탁까지 밀려나며, 마지막에는 액자 속 엄마 얼굴의 왜곡으로 시선을 좁힌다.",
        "scene_index": 16,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the framing until the ceiling becomes an implied off-screen target rather than a visible plane, emphasizing only her wide-open eyes and frozen upward stare.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "Remove Suriyeong from the reflection and hold on the mirror image as a flat, motionless composition of the red circle on the tile.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 3
          },
          {
            "deviation_note": "Push closer than the stage default so the frame crops out most of the table and isolates the grotesquely distorted smiling face beneath the glass.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Outside the supermarket entrance, eye-level and about 5 meters from the glass doors, facing the doorway through the thin morning haze",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to track backward and slightly sideways as Suriyoung moves through the glass doors into the store, maintaining her as the anchor of the frame.",
            "visual_focus": "Suriyoung standing with her bicycle at the supermarket entrance"
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside the supermarket aisle, eye-level and moving laterally along the shelf line at a medium distance from Suriyoung",
            "stage_index": 2,
            "stage_label": "search_and_approach",
            "transition_to_next": "The movement slows and settles near the stock area as Suriyoung finds the male employee, tightening the shared space between them without changing location abruptly.",
            "visual_focus": "Suriyoung scanning the quiet aisles and locating the male employee"
          },
          {
            "camera_motion": "static",
            "camera_position": "Near the store shelves at chest height, positioned just off Suriyoung's side so both the employee area and her line of sight remain readable",
            "stage_index": 3,
            "stage_label": "questioning",
            "transition_to_next": "A hard cut carries the camera outside to the exterior wall, marking the location shift from the conversation to checking the possible CCTV angle.",
            "visual_focus": "Suriyoung questioning the male employee about what he saw and whether CCTV might have captured it"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Outside by the supermarket exterior wall, low at Suriyoung's front and slightly below her eye line, about 1 meter away, angled upward toward her face and the CCTV direction",
            "stage_index": 4,
            "stage_label": "cctv_reveal_reaction",
            "transition_to_next": "The camera holds the upward axis from Suriyoung toward the CCTV position, then eases into a steadier close observation as she processes the implication and prepares to call.",
            "visual_focus": "Suriyoung looking up toward the CCTV lens with a tense, determined expression"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the same wall, close to Suriyoung at eye-level, held tight enough to isolate her from the supermarket exterior",
            "stage_index": 5,
            "stage_label": "phone_followup",
            "transition_to_next": "",
            "visual_focus": "Suriyoung explaining the situation over the phone"
          }
        ],
        "flow_summary": "카메라는 이른 아침 마트 입구에서 수리영을 정면으로 받아낸 뒤, 그녀를 따라 매장 안으로 들어가 남자 직원을 찾는 동선을 이어간다. 대화 후에는 외벽 CCTV 위치로 컷 전환해, 렌즈를 올려다보는 수리영의 얼굴로 긴장을 수렴시킨다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "Frame as a full-body composition that keeps the bicycle handle visible in her hands while the glass entrance remains behind her.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten into a frontal face composition and align her raised chin directly toward the implied CCTV lens above the camera axis.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "At standing eye level near the back wall of the security office, about 2.5 meters behind the three people and centered on the monitor desk.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera slowly pushes forward along the center aisle toward the monitor, narrowing from the group silhouette to the space between Hyesu and Suriyoung.",
            "visual_focus": "The backs of the security employee, Hyesu, and Suriyoung facing the dim CCTV monitor."
          },
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height just behind Hyesu's back, about 0.6 meters from Suriyoung, slightly offset so Hyesu's shoulder and back edge frame the foreground.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera continues sliding forward and slightly left, letting Suriyoung fall out of focus as the lens lines up with the monitor surface.",
            "visual_focus": "Suriyoung's anxious face as she cranes her neck toward the monitor from behind Hyesu."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close to the monitor at seated eye level, about 0.4 meters from the screen, angled squarely into the glow of the CCTV playback.",
            "stage_index": 3,
            "stage_label": "evidence_inspection",
            "transition_to_next": "The camera peels away from the monitor with a small lateral move to the right, rotating toward the people at the desk without breaking the room's spatial continuity.",
            "visual_focus": "The dark, unreadable CCTV image on the monitor."
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height on Hyesu's side of the desk, about 1 meter from her upper body, angled three-quarters toward her with the security employee's side position defining her eyeline.",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Hyesu's upper body as she rests her chin on her hand and fixes her gaze on the security employee's side face."
          }
        ],
        "flow_summary": "카메라는 보안실 뒤편에서 모니터를 향해 천천히 접근한 뒤, 혜수 뒤에 선 수리영의 불안을 먼저 포착한다. 이어 화면의 어두운 증거를 확인하듯 가까이 붙었다가 옆으로 빠져 혜수의 판단과 시선을 따라간다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "Tighter close-up than the stage default, with Hyesu's back used as a soft foreground edge to emphasize Suriyoung peering past her.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the track nearly still for a steadier upper-body framing, keeping the security employee mostly implied through Hyesu's fixed eyeline.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At the police office entrance, eye level, several meters from the main desks, looking inward from the doorway into the fluorescent-lit room.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks forward with the arrivals, then eases past the front exchange at the desks as the room begins to clear out.",
            "visual_focus": "Hyesu, Suriyeong, Detective Kim, and the busy police office layout"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Beside Hyesu's desk at seated eye height, about two meters from Suriyeong, angled across the desk surface toward her profile.",
            "stage_index": 2,
            "stage_label": "isolation",
            "transition_to_next": "As the office empties, the camera continues its inward move and lowers toward the desktop, tightening the space around Suriyeong.",
            "visual_focus": "Suriyeong left alone at the desk, surrounded by unattended case materials"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Very close over the desk, slightly below Suriyeong's eye line and within arm's length of the scattered photographs, angled upward and downward between her face and the tabletop.",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera tilts down from Suriyeong's shocked face to the photographs, then pans right across the desk toward the computer when the monitor alert is heard.",
            "visual_focus": "Suriyeong's alarmed reaction and the disturbing murder-scene photographs on the desk"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly in front of the computer monitor, just above desk height, close enough for the screen to dominate the frame.",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "After holding on the location result, the camera pulls slightly back and tracks with Suriyeong's hands as she copies the coordinates.",
            "visual_focus": "The monitor display showing the sea map, red location pin, and coordinate text"
          },
          {
            "camera_motion": "track",
            "camera_position": "From the desk corner at waist height, moving backward toward the office doorway while keeping Suriyeong in the foreground.",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyeong concealing the written coordinates and leaving the empty office"
          }
        ],
        "flow_summary": "카메라는 경찰서 입구에서 사무실 안으로 따라 들어온 뒤, 사람들이 빠져나가며 홀로 남은 수리영에게 점점 밀착한다. 책상 위 사진에서 모니터의 위치추적 결과로 시선을 옮긴 뒤, 좌표를 챙겨 사무실을 나가는 움직임까지 하나의 긴장된 흐름으로 이어진다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the frame to an extreme close-up on Suriyeong's widened eyes and lowered face, keeping only a blurred hint of the desk below.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Complete the downward tilt onto the tabletop so the photographs fill the frame; Suriyeong is no longer visible except as an implied presence just above the camera line.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Push in until the red pin and English coordinate numbers are legible, flattening the image into a screen-dominant close-up.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At close range beside the parked bicycle's front-left side, chest height, about 1 foot from the handlebar",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera pulls back and slides outward to the bicycle's side as Suriyeong begins to mount and push off.",
            "visual_focus": "Suriyeong's hand gripping the metal handlebar and the parked bicycle preparing to move"
          },
          {
            "camera_motion": "track",
            "camera_position": "Parallel to the bicycle on its left side, waist height, about 8 feet away, keeping a full-body three-quarter profile of Suriyeong",
            "stage_index": 2,
            "stage_label": "push_off",
            "transition_to_next": "The camera continues tracking in the same direction, accelerating slightly to match the bicycle as it leaves the parked position.",
            "visual_focus": "Suriyeong lifting off the saddle and driving weight onto one pedal as the bicycle starts forward"
          },
          {
            "camera_motion": "track",
            "camera_position": "Slightly behind and to the left of the moving bicycle, low waist height, about 10 feet back",
            "stage_index": 3,
            "stage_label": "follow_departure",
            "transition_to_next": "",
            "visual_focus": "Suriyeong riding away from the police station exterior on the bicycle"
          }
        ],
        "flow_summary": "카메라는 주차된 자전거의 손잡이 가까이에서 시작해 수리영이 페달에 체중을 싣고 출발하는 순간 옆으로 빠지며 전신을 포착한다. 이후 같은 방향으로 나란히 따라가며 자전거가 경찰서 밖을 벗어나는 움직임을 이어간다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "Hold a wider full-body frame with a slight low angle to emphasize Suriyeong's hips lifted off the saddle and her weight pressing down on one pedal.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Seated eye-level position directly in front of Suriyoung, about 2 feet beyond the monitor edge, lens aligned with her face in the dark PC room",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "After holding on her face, the camera begins a slow lateral track to the side of the computer station, letting the monitor edge slide out of foreground as the printer area comes into view.",
            "visual_focus": "Suriyoung's tense face reflected in the cool monitor light"
          },
          {
            "camera_motion": "track",
            "camera_position": "Waist-height position moving along the side of the desk, about 3 feet from the workstation and angled toward the nearby old printer",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "The camera continues the same movement past the printer, then lowers and angles down toward the open backpack near Suriyoung's seat.",
            "visual_focus": "the printed satellite map emerging from the printer output slot"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Low close position beside the chair and desk leg, about 1 foot above the floor and close to the open backpack",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "folded paper maps being pushed into the open backpack"
          }
        ],
        "flow_summary": "카메라는 어두운 PC방에서 모니터 앞 수리영의 굳은 얼굴을 정면으로 붙잡은 뒤, 같은 작업대 주변을 따라 프린터와 백팩 쪽으로 낮게 흘러간다. 얼굴의 결심에서 지도 출력, 짐을 챙기는 손동작까지 하나의 조용한 준비 동선으로 이어진다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "Frame holds a strict frontal composition, keeping the monitor glow as the dominant light source and minimizing background detail.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "High upward-facing position above the dark coastline, lens aimed at the storm clouds with the horizon kept low and nearly out of frame",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "After the lightning flash, the camera tilts down from the storm sky toward the rain-lashed coastal road, connecting the sky's violence to the ground below.",
            "visual_focus": "a massive lightning bolt cutting across the heavy storm clouds over the coast"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low roadside position at wheel-to-torso height, moving parallel to the wet coastal asphalt a few feet from the bicycle path",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The tracking move accelerates slightly and slides closer to Suriyoung's side, rising from body level toward her face without breaking direction.",
            "visual_focus": "heavy rain striking the road and Suriyoung forcing the bicycle forward through the storm"
          },
          {
            "camera_motion": "track",
            "camera_position": "Tight side position beside Suriyoung's face at eye level, very close to her cheek while moving at the same speed as the bicycle",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's rain-covered side profile and bloodshot eyes fixed straight ahead"
          }
        ],
        "flow_summary": "카메라는 먼저 먹구름과 번개가 지배하는 해안가 하늘을 붙잡은 뒤, 빗속의 도로로 내려와 자전거를 타고 달리는 수리영에게 접근한다. 마지막에는 그녀와 같은 속도로 나란히 달리며, 비에 젖은 옆얼굴과 정면을 향한 집념 어린 시선에 밀착한다.",
        "scene_index": 22,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame at the exact lightning flash as a near-freeze moment before the downward transition begins.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Push the lens slightly closer than the stage default so the raindrop on her cheek and the tension in her bloodshot eye 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": "Very low on the wet living room floor, lens inches above the muddy footprints, close distance, angled slightly downward across the boards",
            "stage_index": 1,
            "stage_label": "forensic_establishing",
            "transition_to_next": "The camera lifts from the floor and begins a slow forward track through the disturbed living room toward the half-open bedroom door.",
            "visual_focus": "muddy unfamiliar footprints scattered across the rain-wet floor"
          },
          {
            "camera_motion": "track",
            "camera_position": "Waist height in the middle of the ransacked living room, moving past overturned chairs and the open window toward the bedroom entrance",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Continuing the same forward movement, the camera slips past Suriyeong at the doorway and narrows its line of sight onto the bedroom wall.",
            "visual_focus": "the path from the ruined living room into Suriyeong's open room"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside Suriyeong's room, chest height, close to the wall and moving straight toward the center of the red circle",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "A time-compressing cut carries the camera from the wall to the entrance area after Suriyeong has taken the photograph and prepared to leave.",
            "visual_focus": "the blood-marked old photograph pinned at the center of the red circle"
          },
          {
            "camera_motion": "track",
            "camera_position": "Just inside the darkened rooftop room entrance, shoulder height, facing outward through the doorway and tracking backward ahead of Suriyeong",
            "stage_index": 4,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyeong stepping out through the entrance with a dazed expression"
          }
        ],
        "flow_summary": "카메라는 젖은 거실 바닥의 낯선 발자국에서 시작해 난장판이 된 집 안을 따라 수리영의 방 벽면으로 접근하고, 붉은 원 속 사진의 충격을 정점으로 좁혀 들어간다. 이후 시간 압축 컷을 거쳐 현관 쪽으로 물러나며, 사진을 쥔 수리영이 홀린 듯 밖으로 나가는 순간을 받아낸다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "Hold the lens especially low and tight so the footprints fill the frame, reducing the rest of the room to blurred wet reflections.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Push closer than the stage default until the pin, blood stain, and photograph edges dominate the frame inside the red circle.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          },
          {
            "deviation_note": "Freeze the tracking movement for a suspended instant as one of Suriyeong's feet hangs in midair, keeping her unfocused, dazed face as the emotional center.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide low tripod position on the wet harbor ground, about 15 meters from the rock edge, lens height around 0.8 meters, facing the fog-covered sea with Suriyeong small in the frame",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow track toward the rock edge, narrowing the empty harbor into Suriyeong's waiting posture.",
            "visual_focus": "the empty misty harbor, wet ground, rock edge, and Suriyeong facing the sea"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close beside Suriyeong at seated shoulder height, then dipping to her hand level about 30 centimeters from the smartphone",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "After holding on the phone, the camera tilts and pans up toward Suriyeong's line of sight; a cut carries that gaze to the fog bank in front of the harbor.",
            "visual_focus": "Suriyeong's hand holding the vibrating smartphone and the caller name on the screen"
          },
          {
            "camera_motion": "static",
            "camera_position": "Telephoto frontal position at the end of the pier, just above waterline height, centered on the harbor channel and aimed directly into the dense fog",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "As the boat nears the pier, the camera releases the frontal hold and tracks laterally along the quay to join Suriyeong moving toward it.",
            "visual_focus": "the bow of an old small fishing boat breaking through the wall of fog"
          },
          {
            "camera_motion": "track",
            "camera_position": "Side-tracking position along the quay at standing chest height, 2 to 4 meters from Suriyeong, moving parallel to her path toward the moored boat",
            "stage_index": 4,
            "stage_label": "approach",
            "transition_to_next": "The track continues closer to the hull, lowering toward deck level as Suriyeong reaches the boat and prepares to climb aboard.",
            "visual_focus": "Suriyeong approaching the boat while Inwoo secures the mooring line nearby"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Low position on or just inside the boat's edge at deck height, about 1 meter from the boarding point, angled back toward the quay and Suriyeong's legs",
            "stage_index": 5,
            "stage_label": "boarding",
            "transition_to_next": "",
            "visual_focus": "Suriyeong stepping from the quay onto the fishing boat deck"
          }
        ],
        "flow_summary": "카메라는 젖은 포구의 넓은 정적 풍경에서 수리영의 손안 전화로 천천히 좁혀 들어간 뒤, 그녀의 시선을 따라 안개 속에서 나타나는 어선을 정면으로 받아낸다. 이후 포구 가장자리를 따라 수리영과 함께 이동하며 배 앞까지 접근하고, 마지막에는 갑판 높이로 낮아져 승선의 순간에 멈춘다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the frame until the smartphone screen nearly fills the image, keeping only a hint of Suriyeong's fingers and wet ambient reflection around it.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Use a longer lens and hold the camera almost perfectly centered so the bow appears to push straight out of the fog toward the viewer.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Freeze the motion at the instant one foot lands on the deck; add a slight handheld tension and a low upward angle to emphasize the decision to board.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Inside the dim rooftop room, at seated eye level, very close to Hyesu, about 1 meter from her face and slightly off her phone-side shoulder",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "As Hyesu turns her gaze toward Detective Kim, the camera follows her eyeline with a slow lateral track across the room.",
            "visual_focus": "Hyesu's anxious face as she listens to the phone and looks toward Detective Kim"
          },
          {
            "camera_motion": "track",
            "camera_position": "Mid-room at standing chest height, moving laterally from Hyesu's side toward Detective Kim, keeping both the empty room space and Detective Kim's reaction in view",
            "stage_index": 2,
            "stage_label": "reaction",
            "transition_to_next": "The camera lets Detective Kim's dismissive reaction fall out of prominence, then pans and drifts toward the source of the rattling sound near the entrance.",
            "visual_focus": "Detective Kim's calm, dismissive reaction in contrast to Hyesu's anxiety"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near the center of the rooftop room, at chest height, angled toward the old metal entrance door across the darker side of the room",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The half-open metal entrance door rattling in the wind"
          }
        ],
        "flow_summary": "카메라는 혜수의 불안한 얼굴 가까이에서 시작해 그녀의 시선을 따라 김형사 쪽으로 미끄러지듯 이동하고, 마지막에는 바람 소리가 나는 현관문으로 시선을 돌린다. 좁고 어두운 옥탑방 안에서 인물의 불안, 상대의 태연함, 공간의 황량함이 하나의 흐름으로 이어진다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter than the stage default, holding an intimate close-up as Hyesu keeps the phone to her ear and turns only her eyes and face toward Detective Kim.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "High above the open sea at sunset, about 25 meters over the water and several boat-lengths off the port side, looking down toward the small fishing boat and its exposed deck",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera descends and drifts toward the aft deck, losing height until it reaches human eye level near the characters.",
            "visual_focus": "the isolated fishing boat on the empty sea, with the deck as the destination point"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "On the aft deck at standing eye height, roughly 2.5 meters from Suriyeong and Inwoo, angled across the space between them as the map and photo enter the exchange",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The dolly continues inward and lowers slightly toward the object being presented, compressing the distance between the photo and Inwoo's face.",
            "visual_focus": "Suriyeong pressing the evidence toward Inwoo and Inwoo reacting across the deck"
          },
          {
            "camera_motion": "static",
            "camera_position": "Very close between the two characters, at chest height and within half a meter of the old black-and-white photo, with Inwoo's face held in the same eyeline beyond it",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "As Inwoo breaks away, the camera pivots off the close position and picks up his movement across the deck toward the wheelhouse.",
            "visual_focus": "the photo in the foreground and Inwoo's exposed panic beyond it"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low shoulder-height on the deck, just behind and slightly to the side of Inwoo's path, moving quickly along the narrow passage toward the wheelhouse door",
            "stage_index": 4,
            "stage_label": "pursuit_transition",
            "transition_to_next": "The tracking move carries the camera to the wheelhouse entrance, then swings around the threshold to face the doorway head-on as Suriyeong arrives to block him.",
            "visual_focus": "Inwoo's sudden flight toward the wheelhouse and Suriyeong closing the distance behind him"
          },
          {
            "camera_motion": "static",
            "camera_position": "Just inside the wheelhouse threshold at eye level, facing outward toward the doorway, close enough to frame the doorframe, Suriyeong, and Inwoo's blocked shoulder",
            "stage_index": 5,
            "stage_label": "confrontation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong gripping the doorframe and stopping Inwoo from turning the boat"
          }
        ],
        "flow_summary": "카메라는 노을 속 외로운 어선을 멀리서 내려다보다 갑판으로 낮게 접근해 지도와 사진을 사이에 둔 심문 거리로 좁혀진다. 사진과 인우의 얼굴에 밀착한 뒤, 인우가 조타실로 달아나는 동선을 따라 갑판을 가로질러 문틀 앞의 대치 구도에서 멈춘다.",
        "scene_index": 26,
        "shot_assignments": [
          {
            "deviation_note": "Tightens the stage's shared close position onto Inwoo's face, letting the photo remain just outside or at the edge of his eyeline.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          },
          {
            "deviation_note": "Shifts from Inwoo's reaction to an extreme detail of the tiny inscription on the photo corner while staying in the same close object zone.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 3
          },
          {
            "deviation_note": "Locks the camera squarely to the doorway so Suriyeong's front-facing block dominates the frame while Inwoo is held back at shoulder level.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low and tight beside the helm console, at wrist height and less than one foot from the hands on the steering control",
            "stage_index": 1,
            "stage_label": "grip_conflict",
            "transition_to_next": "The camera releases the locked close-up by tracking upward and slightly backward along the console line, following the physical struggle into the space between Inwoo and Suriyoung.",
            "visual_focus": "Suriyoung's hand clamping down on Inwoo's wrist as he tries to turn the steering control"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height in the narrow gap beside the helm, two to three feet from Inwoo and Suriyoung, angled across their confrontation",
            "stage_index": 2,
            "stage_label": "confrontation_rise",
            "transition_to_next": "As the argument shifts to the missing mother and the photograph, the camera tilts and slides down toward the object in Suriyoung's hands without changing screen direction.",
            "visual_focus": "The tightening exchange between Inwoo and Suriyoung around the helm"
          },
          {
            "camera_motion": "static",
            "camera_position": "Directly above the old photograph at tabletop height, close enough for a fingertip to dominate the foreground",
            "stage_index": 3,
            "stage_label": "photo_evidence",
            "transition_to_next": "The camera pulls up from the photograph and tracks toward Inwoo's side, carrying the viewer from the pointed image to his stunned recognition.",
            "visual_focus": "Suriyoung's finger pressing hard on one of the two girls in the old photograph"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At Inwoo's side, slightly below eye level and about two feet from his face, with the darker rear wall beginning to sit behind his shoulder",
            "stage_index": 4,
            "stage_label": "recognition_recoil",
            "transition_to_next": "The camera continues retreating past Inwoo's shoulder, allowing his face to fall to the edge of frame while the rear wall takes over the composition.",
            "visual_focus": "Inwoo absorbing the name and connecting it to something behind him"
          },
          {
            "camera_motion": "static",
            "camera_position": "Behind Inwoo at shoulder height, facing the dark inner wall of the wheelhouse from roughly six feet away",
            "stage_index": 5,
            "stage_label": "wall_reveal",
            "transition_to_next": "",
            "visual_focus": "The dense field of strange red circular marks covering the wheelhouse wall"
          }
        ],
        "flow_summary": "카메라는 조타 장치 위 손목을 붙잡는 물리적 충돌에서 출발해, 인물들의 대립을 타고 사진으로 내려간 뒤 인우의 반응을 지나 그의 등 뒤 벽면으로 물러난다. 마지막에는 인우 너머의 어두운 조타실 벽을 정면으로 고정해 붉은 원형 표식을 드러낸다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "Frame even tighter than the stage default so the steering control is only partially visible and the force of Suriyoung's grip dominates the shot.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "Keep the photograph flat and fill the frame with the fingertip and the selected girl, minimizing the surrounding console.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold longer and remove Inwoo from the center, using only his implied position just off foreground to make the red circular marks feel discovered behind him.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "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 waterline, far behind the fishing boat and facing the sunset horizon",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward track over the water, leaving the sunset reflection behind and aligning with the boat's wake toward the fog bank.",
            "visual_focus": "the low sun, golden reflection across the sea, and the distant silhouette of the fishing boat"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low trailing position several boat lengths behind the old fishing boat, centered on its stern and moving forward at the boat's speed",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues tracking closer behind the boat as the fog wall grows to fill the frame, tightening the distance without changing the rear-facing alignment.",
            "visual_focus": "the old fishing boat advancing toward the dense fog wall across the horizon"
          },
          {
            "camera_motion": "track",
            "camera_position": "Close trailing position just above the water behind the old fishing boat, slightly lower than the stern rail and aimed forward into the fog",
            "stage_index": 3,
            "stage_label": "threshold",
            "transition_to_next": "",
            "visual_focus": "the stern of the old fishing boat while its bow is half swallowed by the dense fog wall"
          }
        ],
        "flow_summary": "카메라는 해질녘 바다의 넓은 풍경에서 출발해 수면 가까이 앞으로 미끄러지며 낡은 어선을 뒤따른다. 마지막에는 어선의 뒤에 바짝 붙어, 뱃머리가 짙은 안개벽 속으로 사라지는 경계의 순간을 붙잡는다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "Frame the stern in the lower center while allowing the fog wall to engulf the forward half of the boat, emphasizing that the bow is already disappearing.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "911f9d82-0217-4ed9-8cd5-9ac1fba950d6",
  "resolved_model": "gpt",
  "updated_at": "2026-05-10T07:49:12.544944+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}