{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low chest-height camera moving backward along a narrow forest path, about 10 feet in front of the fleeing man, partially screened by foreground branches",
            "stage_index": 1,
            "stage_label": "establishing_chase",
            "transition_to_next": "The camera keeps retreating as the man closes distance, letting the frame tighten from full body toward upper body without breaking direction.",
            "visual_focus": "the fleeing man forcing his way through dark undergrowth"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Closer frontal position at eye level, about 3 feet from the man as he stumbles forward through the brush",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As his fear peaks, the camera swings past his shoulder line toward the space behind him, motivated by the unseen threat approaching from the rear.",
            "visual_focus": "the man's terrified face and unstable movement"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Just off the man's front-left side at shoulder height, pivoting toward the darker background behind him",
            "stage_index": 3,
            "stage_label": "threat_reveal",
            "transition_to_next": "The pan accelerates with the incoming silhouette, then the camera drops and follows the collision down to the forest floor.",
            "visual_focus": "a black human-shaped silhouette rushing in from behind the man"
          },
          {
            "camera_motion": "static",
            "camera_position": "Ground-level camera beside the fallen man, about 2 feet from his shoulder, angled slightly upward through leaves and dirt",
            "stage_index": 4,
            "stage_label": "impact_hold",
            "transition_to_next": "",
            "visual_focus": "the black silhouette pinning the fallen man's shoulders to the forest floor"
          }
        ],
        "flow_summary": "카메라는 숲길 앞쪽에서 남자의 도주를 낮게 역추적하다가, 공포가 고조되며 그의 어깨 너머 뒤편으로 시선을 돌린다. 검은 실루엣의 습격을 따라 바닥까지 떨어진 뒤, 남자가 제압당한 순간을 지면 가까이에서 멈춰 응시한다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "Frame wide enough to keep the man's whole body visible while preserving the forward-running momentum through foreground brush.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "The movement resolves into a hard stillness, emphasizing the silhouette's hands locked on the fallen man's shoulders.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the mouth of the dim back alley, eye-level, several meters from the utility pole, looking diagonally down the narrow passage toward two figures pressed against the pole",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow push forward along the alley wall, narrowing the distance to the figures without changing the side-on axis.",
            "visual_focus": "the man and woman locked together beneath the weak streetlight"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close beside the utility pole at shoulder height, less than one meter from the couple, angled tightly toward the woman's exposed neck and the man's lowered face",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As the woman's strength gives out, the camera tilts and tracks downward with the collapsing movement toward the base of the pole.",
            "visual_focus": "the man's teeth sunk into the woman's neck and the dark red blood gathering around the wound"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Near the base of the utility pole, slightly above waist height, looking downward as the woman's upper body slackens toward the ground",
            "stage_index": 3,
            "stage_label": "collapse_reveal",
            "transition_to_next": "The camera retreats backward and lowers its angle, allowing the body and blood-stained alley floor to expand within the frame.",
            "visual_focus": "the woman's limp upper body falling into the shadow at the foot of the pole"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Low and wide on the alley floor, several meters back from the utility pole, framing the dark pavement, spreading blood, and the woman's body within the cold empty alley",
            "stage_index": 4,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "the woman's body lying on the dark alley floor amid deep red blood stains"
          }
        ],
        "flow_summary": "카메라는 골목 입구의 관찰자 위치에서 전봇대 아래의 두 사람에게 천천히 접근해 목덜미의 폭력적인 순간을 포착한다. 이후 여자가 쓰러지는 움직임을 따라 아래로 내려가고, 마지막에는 뒤로 빠지며 차갑고 넓은 골목 바닥 위 시신을 드러낸다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter than the stage default, cropping out most of the faces so the bite mark, teeth, and blood at the woman's neck dominate the image.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "The dolly-out settles into a colder, wider composition, giving more negative space to the blood-darkened pavement around the woman's body.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At the outer edge of the crime scene, eye level, about 12 meters from the recovery area, just behind the police line tape",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks parallel to the police line, using the tape as a foreground guide while moving toward the cluster of detectives.",
            "visual_focus": "Police officers securing the perimeter and the indistinct body recovery area beyond the tape"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the perimeter corridor, shoulder height, about 6 meters from the detective group, angled slightly from the side of the scene",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The dolly-in continues past the surrounding detectives and settles closer to Hyesu as the center of command.",
            "visual_focus": "The detective group forming a firm barrier around the active investigation area"
          },
          {
            "camera_motion": "static",
            "camera_position": "Near the front edge of the detective group, chest height, about 3 meters from Hyesu, framed in a medium-wide composition",
            "stage_index": 3,
            "stage_label": "command_focus",
            "transition_to_next": "",
            "visual_focus": "Hyesu standing still with her arm extended toward the crime scene, surrounded by resolute detectives"
          }
        ],
        "flow_summary": "카메라는 폴리스 라인 바깥의 현장 전경에서 출발해 테이프를 따라 이동하며 수사 현장 안쪽의 형사 무리로 접근한다. 마지막에는 사건을 지휘하는 혜수 앞에서 멈춰, 그녀의 단호한 지시 자세와 주변 형사들의 긴장된 대형을 포착한다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly longer on Hyesu's extended arm so the surrounding detectives read as a solid wall around her.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Very high aerial position above the fog-covered coastal outskirts, looking steeply downward across clustered old low-rise buildings and the distant shoreline haze",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow crane descent while drifting toward one old rooftop room, tightening the overhead perspective without cutting.",
            "visual_focus": "the misty edge of the coastal city and the dense spread of aging villa rooftops"
          },
          {
            "camera_motion": "crane",
            "camera_position": "High overhead but closer to an old villa rooftop, slightly off-center above the roofline at a steep downward angle, close enough to read the laundry line moving in the wind",
            "stage_index": 2,
            "stage_label": "approach_reveal",
            "transition_to_next": "",
            "visual_focus": "the old rooftop room and laundry lightly lifting in the wind against the foggy urban background"
          }
        ],
        "flow_summary": "카메라는 안개 낀 해안 도시 변두리를 높은 부감으로 붙잡은 뒤, 낡은 빌라 옥상 쪽으로 천천히 내려오며 불안한 지역 분위기를 압축한다. 최종적으로 옥상 빨래가 바람에 들리는 작은 움직임에 시선을 고정해 사건의 불길한 정서를 남긴다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "Hold the crane movement almost imperceptibly so the shot feels like a suspended bird’s-eye view at the moment the laundry lifts in the wind.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the living area at seated eye level, about 1.5 meters in front of Minsuk, slightly off the television axis so the lens catches her face rather than the screen.",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "When Suriyoung opens the bedroom door, the camera begins a rightward pan and short lateral track away from Minsuk's fixed stare toward the doorway.",
            "visual_focus": "Minsuk's tense, heavy expression as she watches the television news."
          },
          {
            "camera_motion": "track",
            "camera_position": "Still within the living area, chest height, sliding laterally between Minsuk and the bedroom doorway, keeping both the doorway and the television area within the same spatial line.",
            "stage_index": 2,
            "stage_label": "interrupt_reaction",
            "transition_to_next": "The lateral movement settles toward the dining table side as Minsuk's attention shifts from the television to Suriyoung.",
            "visual_focus": "Suriyoung emerging from the bedroom and Minsuk's hurried reaction to shut off the television."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At the edge of the dining table, seated eye level, about 1 meter from the two women, angled to include the offered cup and their opposing expressions.",
            "stage_index": 3,
            "stage_label": "domestic_exchange",
            "transition_to_next": "A clear temporal cut relocates the camera from the table conversation to the entryway for Suriyoung's departure.",
            "visual_focus": "The mother-daughter exchange around the herbal drink and their subdued morning rhythm."
          },
          {
            "camera_motion": "static",
            "camera_position": "Just inside the entryway at shoulder height, about 1.5 meters from Suriyoung, angled back toward Minsuk deeper in the room.",
            "stage_index": 4,
            "stage_label": "farewell_pause",
            "transition_to_next": "As Suriyoung leans close to Minsuk, the camera tilts and pushes downward from their faces toward Minsuk's wrist, narrowing the field of view.",
            "visual_focus": "Suriyoung's warm farewell gesture and Minsuk's softened response."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close beside Minsuk at wrist height, 20 to 30 centimeters from the inner wrist, macro distance, angled slightly downward to isolate the skin surface.",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The dark circular mark on the inside of Minsuk's pale wrist."
          }
        ],
        "flow_summary": "카메라는 민숙의 불안한 얼굴에서 시작해 수리영의 등장과 식탁 대화를 따라 옥탑방 안쪽으로 부드럽게 이동하다가, 시간 경과 컷으로 현관 앞 이별 순간에 도착한다. 마지막에는 두 사람의 가까운 몸짓에서 아래로 파고들어 민숙의 손목 표식으로 시선을 좁힌다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter on Minsuk's face than the stage baseline, letting the television remain implied off-axis rather than shown directly.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Use a macro close-up that excludes both faces, holding only the wrist and the circular mark in sharp focus.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low-mounted camera on the seaside shoulder of the coastal road, about 25 feet from the cyclist's path, lens at wheel height and angled slightly upward along the road line",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera accelerates parallel to the bicycle path, closing the lateral distance while keeping the sea and road moving through the background.",
            "visual_focus": "the coastal road, sea breeze, and Suriyeong entering the frame on her bicycle"
          },
          {
            "camera_motion": "track",
            "camera_position": "Side-tracking camera moving parallel to Suriyeong, about 6 feet from her bicycle, lens at chest height and perpendicular to her direction of travel",
            "stage_index": 2,
            "stage_label": "dynamic_side_observation",
            "transition_to_next": "The camera eases slightly forward from her side toward a front three-quarter angle as the offscreen dog bark begins to intrude.",
            "visual_focus": "Suriyeong pedaling energetically with earphones in, her hair blown back by the seaside wind"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Camera still traveling beside the bicycle but now half a step ahead, at upper-body height, angled back toward Suriyeong's face and the open road beyond her",
            "stage_index": 3,
            "stage_label": "anticipation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's bright expression against the coastal road, with attention subtly opened toward the unseen source of the bark"
          }
        ],
        "flow_summary": "카메라는 해안가 도로의 넓은 흐름에서 출발해 수리영의 자전거 속도에 맞춰 측면으로 붙어 달리며 활기를 포착한다. 마지막에는 살짝 앞쪽으로 빠져나가며 개 짖는 소리가 끼어들 다음 순간을 열어둔다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Hold a clean perpendicular side profile and emphasize the wind-driven motion of hair and the force of her pedaling.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the kennel aisle at dog-eye height, just outside the barred gate, starting close to the barking Rottweiler and pushing forward along its eyeline toward Suriyeong's face on the opposite side of the confrontation.",
            "stage_index": 1,
            "stage_label": "confrontation",
            "transition_to_next": "As the dog loses force, the camera slips laterally along the kennel front, keeping the tension line between Suriyeong and the dog while revealing the veterinarian moving in behind the animal.",
            "visual_focus": "Suriyeong's unwavering eyes facing down the aggressive Rottweiler"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low and slightly to the rear side of the kennel, close enough to see the dog settle while the veterinarian reaches in from beside the animal.",
            "stage_index": 2,
            "stage_label": "medical_resolution",
            "transition_to_next": "The camera pulls back out of the kennel pressure zone into the aisle, rising to chest height as the immediate danger passes and the surrounding cages come into view.",
            "visual_focus": "the calmed Rottweiler and the veterinarian administering the injection"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Chest height in the shelter aisle, several feet from Suriyeong, backing away enough to include her upper body, the cage line, and the floor space she stares into while trying to call.",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "After her unanswered call, the camera turns and tracks with her movement down the aisle toward the grooming and washing area.",
            "visual_focus": "Suriyeong absorbing the workload and the failed phone call"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving beside the grooming area at waist-to-chest height, close to the tub and worktable, following Suriyeong as she shifts into hands-on care for the dogs.",
            "stage_index": 4,
            "stage_label": "work_transition",
            "transition_to_next": "",
            "visual_focus": "Suriyeong beginning the grooming and washing tasks"
          }
        ],
        "flow_summary": "카메라는 맹견과 수리영의 눈싸움 축에서 출발해, 개가 순해지고 주사가 놓이는 순간을 따라간 뒤 보호원 통로로 물러나 수리영의 부담과 연락 실패를 포착한다. 이후 같은 동선으로 미용·목욕 공간까지 이동하며 그녀가 곧바로 일에 뛰어드는 흐름으로 이어진다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "Tightens from the stage's confrontation axis into an extreme close-up on Suriyeong's eyes, holding nearly motionless at the end of the push-in.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "Narrows the aisle framing into an upper-body composition; the dolly-out settles into a brief held moment as her gaze drops to the floor with the phone at her ear.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Exterior sidewalk at eye level, about 8 meters from the supermarket glass front, moving parallel to the storefront through the busy street edge",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks with Suriyoung as she parks the bicycle, then continues forward with her toward the supermarket entrance.",
            "visual_focus": "Suriyoung arriving at the supermarket against the neon-lit street and glass facade"
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside the supermarket entrance, chest-height, 3 to 4 meters ahead of Suriyoung, moving backward between the aisles",
            "stage_index": 2,
            "stage_label": "approach_search",
            "transition_to_next": "The backward track slows near the display area and reorients toward the female employee as Suriyoung approaches her.",
            "visual_focus": "Suriyoung scanning the aisles while looking for her mother"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Mid-aisle near a display shelf, eye level, positioned slightly beside the female employee and angled toward Suriyoung",
            "stage_index": 3,
            "stage_label": "question_reaction",
            "transition_to_next": "When the male employee speaks from the stocking area, the camera pans and shifts attention across the aisle toward him.",
            "visual_focus": "Suriyoung reacting to the female employee's explanation"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Mid-aisle at eye level, about 2.5 meters from the male employee, angled so the stocked shelves and Suriyoung's direction remain spatially connected",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "Cut from Suriyoung's confusion inside the aisle to her later position outside the supermarket after leaving.",
            "visual_focus": "The male employee holding a large paper box as he turns his head toward Suriyoung"
          },
          {
            "camera_motion": "static",
            "camera_position": "Exterior dark sidewalk across the street from the supermarket, waist-height to full-body distance, about 7 meters from Suriyoung",
            "stage_index": 5,
            "stage_label": "withdraw_isolation",
            "transition_to_next": "",
            "visual_focus": "Suriyoung standing alone on the dim street and looking down at her phone screen"
          }
        ],
        "flow_summary": "카메라는 번화가 바깥에서 수리영을 따라 마트 안으로 진입한 뒤, 진열대 사이 대화의 흐름에 맞춰 여직원에서 남자 직원으로 시선을 옮긴다. 민숙의 행방이 불확실해지는 순간을 확인한 뒤에는 컷으로 어두운 마트 밖에 홀로 선 수리영을 멀리서 고정해 고립감을 만든다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "Frame the box prominently in the foreground while keeping the head turn toward Suriyoung's direction as the key action.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          },
          {
            "deviation_note": "Hold wider than the stage default if needed to include Suriyoung's full body and the surrounding dark sidewalk, emphasizing the empty space around her.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low on the dark coastal road shoulder, about 1 meter above the pavement and several meters ahead of the approaching bicycle line, facing down the road into the darkness.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As the bicycle headlight grows brighter, cut to a perpendicular roadside position for a locked side profile at the moment she reaches camera level.",
            "visual_focus": "the narrow cone of bicycle headlight cutting across the dark coastal road"
          },
          {
            "camera_motion": "static",
            "camera_position": "Fixed at the roadside, perpendicular to the bicycle path, waist-to-chest height relative to the rider, close enough for a medium side profile as she passes through the headlight spill.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong leaning forward over the handlebars, gripping tightly and driving one pedal down while her hair streams backward"
          }
        ],
        "flow_summary": "카메라는 어두운 해안도로의 전조등 불빛을 먼저 받아낸 뒤, 컷으로 도로 옆 측면 위치에 고정되어 수리영이 집으로 급히 달리는 순간을 포착한다. 전체 흐름은 어둠 속 접근감에서 긴박한 측면 관찰로 압축된다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame rigidly without tracking, emphasizing the frozen side-profile instant of force on the pedal and wind pulling her hair backward.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low to the rooftop floor, about ankle height, several feet from the rooftop room entrance, moving across the dark roof surface toward the closed metal door",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera continues tracking forward and rises slightly as it reaches the door seam, tightening attention from the rooftop floor to the entrance hardware.",
            "visual_focus": "the stranger's shoes, the dry herb leaves moving in the wind, and the closed rooftop room door ahead"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close to the metal door at waist height, just off the doorframe, angled toward the narrow gap between the door and the jamb",
            "stage_index": 2,
            "stage_label": "intrusion_detail",
            "transition_to_next": "After the lock gives way, the camera slides laterally along the exterior wall from the door toward the nearby frosted window, staying outside as the figure enters.",
            "visual_focus": "the rough hand forcing a leaflet into the door gap and the door beginning to open"
          },
          {
            "camera_motion": "track",
            "camera_position": "Outside the rooftop room, eye level, pressed close to the exterior wall and aligned squarely with the translucent window glass",
            "stage_index": 3,
            "stage_label": "exterior_reveal",
            "transition_to_next": "A hard cut jumps from the exterior side of the glass to a cramped interior position, turning the reflected threat into immediate physical violence.",
            "visual_focus": "the large dark silhouette of the Korean man spreading across the unlit frosted window"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Inside the dark rooftop room, shoulder height, very close to Minsuk and the attacking dark form, positioned slightly beside Minsuk's face and shoulder",
            "stage_index": 4,
            "stage_label": "interior_assault",
            "transition_to_next": "",
            "visual_focus": "Minsuk's contorted face and the dark form biting deeply into her shoulder"
          }
        ],
        "flow_summary": "카메라는 옥상 바닥의 낮은 접근에서 철문 앞 침입 순간까지 이어지고, 문이 열린 뒤 외벽을 따라 창문으로 이동해 유리에 비친 거대한 실루엣을 붙잡는다. 이후 유리 바깥의 관찰 시점에서 방 안의 밀착 시점으로 컷하며 폭력의 순간을 직접 목격하게 만든다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "Frame the frosted window tightly so the man's face remains unseen and only the heavy silhouette dominates the dark glass.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Move slightly closer than the stage default to emphasize Minsuk's pained expression while keeping the dark form's bite on her shoulder in the same frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "At the bottom of the steep exterior rooftop stairs, low chest height, two to three meters behind Suriyeong, aligned with the narrow stair axis.",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera climbs the stairs behind her in the same narrow path, closing distance as her movement suddenly stops.",
            "visual_focus": "Suriyeong stepping onto the dark exterior stairs and the cramped upward path ahead."
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Midway up the exterior stairs, chest height, at arm's length in a tight three-quarter frontal angle to Suriyeong, constrained by the stair wall.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As Suriyeong looks upward toward the rooftop, the camera edges past her shoulder and continues climbing toward the roofline.",
            "visual_focus": "Suriyeong's upper body as she stops, covers her nose and mouth, and reacts to the foul smell."
          },
          {
            "camera_motion": "track",
            "camera_position": "On the rooftop edge just behind and slightly to the side of Suriyeong, eye level, several meters from the rooftop room entrance.",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "The camera follows her fixed line of sight, tracking forward across the rooftop and leaving her behind to isolate the entrance.",
            "visual_focus": "Suriyeong frozen near the rooftop edge, facing the half-open entrance."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "On the rooftop directly facing the old iron entrance door from a slight diagonal, eye level, about two meters away and moving closer to the gap.",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The half-open rusty iron door and the dense darkness visible inside the room."
          }
        ],
        "flow_summary": "카메라는 수리영을 따라 좁은 외부 계단을 올라가다 냄새를 감지한 순간 그녀의 상체 반응에 붙고, 이후 시선을 따라 옥상 입구 쪽으로 전진한다. 마지막에는 수리영을 프레임 밖으로 밀어내며 반쯤 열린 현관 철문과 내부의 어둠을 단독으로 드러낸다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter on Suriyeong's upper body, minimizing the surrounding stairs while keeping the cramped stair space implied.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Exclude Suriyeong entirely and tighten the dolly-in toward the door gap so the dark interior dominates the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At the apartment entrance, eye-level, about 8 feet behind the threshold, looking through the dim living room toward the inner doors",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks forward past the living room table and aligns with the bedroom corridor, letting the unattended room details fall behind.",
            "visual_focus": "the empty living room, the quiet table setting, and the path toward the bedrooms"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just outside Suriyeong's bedroom door, waist height, angled through the opening toward the floor and the far curtain",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues inward along the blood trail and rises slightly as the curtain is pulled aside, carrying the viewer into the reveal without changing rooms.",
            "visual_focus": "the blood on the floor, the footprints leading to the curtain, and the curtain edge"
          },
          {
            "camera_motion": "static",
            "camera_position": "Inside the bedroom near the foot of the bed, low to mid height, about 6 feet from the curtain, facing the corner where the body is seated",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "After holding on the body, the camera creeps closer and lowers toward the floor beside Minsuk, narrowing from the full reveal to the details in her hands.",
            "visual_focus": "Minsuk's motionless body slumped beside the drawn-back curtain"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low beside Minsuk's body, close to the floor and within 1 to 2 feet of her rigid hand",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "The camera slides from the hand and photograph toward the wrist, then tilts and pans upward across the bed area as the supernatural mark redirects attention to the wall.",
            "visual_focus": "Minsuk's stiff hand holding the half-crumpled photograph"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Beside the bed at shoulder height, close to the wall above the bed, angled upward from the body area to the marked surface",
            "stage_index": 5,
            "stage_label": "supernatural_reveal",
            "transition_to_next": "",
            "visual_focus": "the huge red circle appearing on the wall above the bed"
          }
        ],
        "flow_summary": "카메라는 현관에서 거실과 방 앞을 지나 핏자국을 따라 수리영의 방 안으로 진입하고, 커튼 옆 시신을 드러낸 뒤 바닥 가까이 내려가 민숙의 손과 사진을 관찰한다. 마지막에는 시신의 세부에서 침대 위 벽으로 시선을 끌어올리며 붉은 원의 징후를 공포의 종착점으로 삼는다.",
        "scene_index": 12,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly longer than the moving approach, keeping the curtain edge in the side of the composition to preserve the sense of a just-completed reveal.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten from the stage's low close position into an extreme close-up so the photograph fills the frame while the body remains implied outside the edges.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 4
          },
          {
            "deviation_note": "Complete the upward tilt into a locked close framing of the red circle, excluding Suriyeong so the mark itself becomes the visual shock.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "On the dark exterior stairway, shoulder height, a few steps below and slightly to the side of the fleeing young woman, keeping close enough to feel her unstable descent",
            "stage_index": 1,
            "stage_label": "descent",
            "transition_to_next": "The camera retreats down the last steps ahead of her and backs into the roadside, letting her run into a frontal position as the siren light begins to wash the street.",
            "visual_focus": "the young woman stumbling down the exterior stairs toward the road"
          },
          {
            "camera_motion": "static",
            "camera_position": "At the roadside below the stairs, eye level, about three meters in front of the young woman, facing her directly with the street and emergency light behind camera",
            "stage_index": 2,
            "stage_label": "roadside_stasis",
            "transition_to_next": "The camera holds her frozen state, then pans and tracks slightly toward the arriving car as Hyesu gets out and moves into the space between camera and the young woman.",
            "visual_focus": "the young woman standing blankly under pulsing siren light"
          },
          {
            "camera_motion": "track",
            "camera_position": "Starting near the open car door at chest height, then moving with Hyesu across the roadside toward the young woman, ending just off Hyesu's shoulder",
            "stage_index": 3,
            "stage_label": "approach",
            "transition_to_next": "As Hyesu reaches her, the camera slips past Hyesu's shoulder and pushes lower and closer to the young woman's face, aligning with the upward eyeline.",
            "visual_focus": "Hyesu closing the distance to the stunned young woman"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low close position just in front of the young woman, slightly below her eye line and within intimate distance, angled upward enough to suggest she is looking at Hyesu",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "After the confession lands, the camera snaps attention toward Hyesu, then releases into the direction of the exterior stairs as the urgency shifts upward.",
            "visual_focus": "the young woman's tearful face as she looks up at Hyesu"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Behind Hyesu and the younger detective at street level, waist to shoulder height, following them as they turn and sprint toward the exterior stairs",
            "stage_index": 5,
            "stage_label": "rush_upward",
            "transition_to_next": "",
            "visual_focus": "Hyesu and the younger detective rushing up toward the rooftop room"
          }
        ],
        "flow_summary": "카메라는 수리영의 계단 하강을 불안정하게 따라 내려와 도로변 정면에서 멈춘 뒤, 혜수의 접근을 따라 다시 수리영의 얼굴 가까이로 파고든다. 고백이 나온 순간 시선은 혜수 쪽으로 튕겨 올라가고, 곧바로 옥탑방 계단을 향해 뛰어가는 움직임으로 이어진다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "Hold longer and steadier than the preceding handheld descent so her blankness contrasts with the siren movement around her.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten into an intimate close-up and keep the lens slightly below her eyeline to emphasize that she is looking up at Hyesu while struggling to speak.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "In the narrow entry area at standing eye level, several feet behind the detective and Hyesu, angled toward the open room doorway",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera follows Suriyoung's sudden movement, tracking past the doorway into her room without breaking the spatial line.",
            "visual_focus": "the detective and Hyesu realizing the apartment appears empty, then Suriyoung breaking away toward the room"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just inside Suriyoung's room at chest height, starting near the doorway and moving toward the bed and the curtain wall",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "After holding on the vanished evidence, the camera pivots and retreats with Suriyoung as she rushes back out toward the dining table.",
            "visual_focus": "the spotless floor, the bed, and the empty space behind the curtains where the blood and body should have been"
          },
          {
            "camera_motion": "track",
            "camera_position": "At standing height beside the dining table, slightly off Suriyoung's shoulder and looking down across the cleared tabletop",
            "stage_index": 3,
            "stage_label": "verification",
            "transition_to_next": "The camera widens its angle from the table to include the detective's dismissive reaction and Hyesu's intervention, maintaining the same room axis.",
            "visual_focus": "the clean dining table and Suriyoung's hand indicating where the teacups had been"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near the dining area at eye level, between Suriyoung and the adults, panning from the detective's irritated profile to Hyesu's protective stare",
            "stage_index": 4,
            "stage_label": "confrontation",
            "transition_to_next": "As the detective exits, the camera abandons the wider adult confrontation and moves closer to Suriyoung's lowered posture.",
            "visual_focus": "the tension between the detective, Hyesu, and Suriyoung after the evidence has vanished"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low at seated chest height, three feet in front of Suriyoung, slightly to one side so the floor remains visible beneath her gaze",
            "stage_index": 5,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyoung frozen in shock, hands covering her face, eyes fixed downward"
          }
        ],
        "flow_summary": "카메라는 현관 쪽의 혼란에서 수리영을 따라 방 안으로 진입해 사라진 증거의 빈자리를 확인한 뒤, 식탁과 어른들의 대립을 거쳐 다시 수리영의 무너진 반응으로 좁혀 들어간다. 전체 이동은 ‘확인하러 들어감’에서 ‘아무것도 없다는 공포’로 점점 시선을 압축하는 흐름이다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "Hold wider and colder than the moving stage baseline, letting the empty curtain area dominate the frame after the dolly-in settles.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten to an upper-body framing and reduce movement to an almost imperceptible push, emphasizing her immobilized shock.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low side position beside the seaside bench, about waist height, three meters from Su-riyeong, angled slightly past her profile toward the dark ocean",
            "stage_index": 1,
            "stage_label": "isolated_observation",
            "transition_to_next": "The camera releases from the static hold and begins a slow lateral track along the bench line as Hyesu enters Su-riyeong's space.",
            "visual_focus": "Su-riyeong's lowered side profile against the night shoreline"
          },
          {
            "camera_motion": "track",
            "camera_position": "Still near bench height, sliding closer along the front edge of the bench from Su-riyeong's side toward the space between Su-riyeong and Hyesu",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "As Su-riyeong decides to leave, the camera rises slightly in place and tightens its angle toward her face, keeping Hyesu on the opposing side of the eyeline.",
            "visual_focus": "The exchange between Hyesu and Su-riyeong at the bench"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Medium-close position just off Su-riyeong's front side at chest height, about two meters away, with Hyesu held near the edge of Su-riyeong's eyeline",
            "stage_index": 3,
            "stage_label": "resolve",
            "transition_to_next": "When Su-riyeong turns away, the camera pivots with her movement and slips into a parallel path beside the road, converting the frontal tension into a side-tracking run.",
            "visual_focus": "Su-riyeong standing, nodding to Hyesu, and hardening into decision"
          },
          {
            "camera_motion": "track",
            "camera_position": "Parallel side position along the dark roadside, camera at torso height and moving laterally three to four meters from Su-riyeong",
            "stage_index": 4,
            "stage_label": "departure",
            "transition_to_next": "",
            "visual_focus": "Su-riyeong running away from the bus stop toward the dark road"
          }
        ],
        "flow_summary": "카메라는 해안가 벤치 옆에서 수리영을 멀찍이 지켜보다가, 혜수와의 짧은 대화를 따라 천천히 가까워진 뒤 수리영의 결심 순간에 정면 가까이 붙는다. 그녀가 뛰쳐나가자 카메라는 곧바로 방향을 틀어 도로 옆으로 병주하며, 누군가 지켜보는 듯한 거리감을 유지한다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly longer than the dialogue rhythm to emphasize stillness and confusion before any movement begins.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Frame a little tighter than the stage default so Hyesu is suggested mainly through Su-riyeong's eyeline rather than fully shared emphasis.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Increase lateral speed to catch one suspended running beat, keeping the background road streaked and dark while Su-riyeong remains the anchor.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At the police office entrance, shoulder height, medium distance behind and slightly to the side of Hyesu, moving along the aisle toward the duty desk.",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera continues tracking with Hyesu, then arcs around the desk corner to settle on the detective's side of the desk, facing her across the tabletop.",
            "visual_focus": "Hyesu entering while trying the unanswered phone call, with the lone detective at the desk ahead."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "On the detective's side of the desk, just above tabletop height, about three feet back from the desk edge, facing Hyesu frontally across the desk.",
            "stage_index": 2,
            "stage_label": "confrontation",
            "transition_to_next": "Maintaining the same frontal axis, the camera creeps closer and slightly lower as Hyesu shifts from showing the phone to pressing her body weight onto the desk.",
            "visual_focus": "Hyesu's firm expression and the phone screen held out over the desk."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close to the desktop on the detective's side, low tabletop height, tight distance to Hyesu's hands and upper body as she leans over the desk toward him.",
            "stage_index": 3,
            "stage_label": "pressure",
            "transition_to_next": "",
            "visual_focus": "Hyesu's clenched posture, both fists on the desk, and her urgent focus toward the detective."
          }
        ],
        "flow_summary": "카메라는 사무실 입구에서 혜수를 따라 당직 책상까지 이동한 뒤, 책상 너머 김형사의 위치로 돌아서 혜수를 정면으로 마주 본다. 이후 같은 축에서 점점 낮고 가까워지며, 휴대전화 제시에서 책상에 몸을 싣는 압박으로 감정의 강도를 끌어올린다.",
        "scene_index": 16,
        "shot_assignments": [
          {
            "deviation_note": "Frame the phone screen prominently in the lower foreground while keeping Hyesu's eyes sharp above it.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Lower the lens slightly to emphasize the fists on the desk before allowing the eye line to rise to Hyesu leaning toward the detective.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low rooftop-wall level, about 30 cm above the parapet, three meters from the lit rooftop room window, moving parallel to the wall on the cat's side",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera keeps tracking with the cat, then eases forward and slightly around toward the cat's front as the cat slows and turns its head toward the window.",
            "visual_focus": "the black cat moving along the wall in the blue dawn light, with the glowing rooftop room window in the background"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very low and close at the cat's eye height, just off the cat's front-left side, within macro distance of the face, angled so the bright old rooftop room window sits in the cat's line of sight",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "After holding on the eye, the camera releases the push-in and tilts upward with the cat's sudden movement toward the top of the parapet.",
            "visual_focus": "the black cat's eye as it stops with its head turned toward the brightly lit old rooftop room window"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Low beside the rooftop parapet, slightly behind the cat's takeoff point, aimed upward across the wall line toward the dawn sky",
            "stage_index": 3,
            "stage_label": "leap_follow",
            "transition_to_next": "",
            "visual_focus": "the black cat springing over the rooftop wall"
          }
        ],
        "flow_summary": "카메라는 새벽 옥상 담벼락을 따라 고양이와 나란히 이동하다가, 불 켜진 옥탑방 창문을 바라보는 고양이의 눈높이로 밀착해 들어간다. 이후 고양이가 담을 넘는 동작을 따라 시선만 위로 들어 올리며 씬을 마무리한다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "Tighten into an extreme close-up of the eye, holding long enough to catch the bright rooftop room window as a reflected point of focus.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low bedside profile position, about chest height, two feet from the bed corner, angled slightly downward toward Suriyoung curled against the bed edge",
            "stage_index": 1,
            "stage_label": "uneasy_waking",
            "transition_to_next": "As the cat cry breaks the stillness, the camera holds a beat, then cuts to the doorway area to continue her search through the apartment.",
            "visual_focus": "Suriyoung's exhausted side profile and closed eyes at the bed corner"
          },
          {
            "camera_motion": "track",
            "camera_position": "Shoulder-height position just behind and to the side of Suriyoung, moving from the hallway threshold into her room and then toward the window",
            "stage_index": 2,
            "stage_label": "room_search",
            "transition_to_next": "After the curtain reveal and her relieved pause, the camera cuts with the sudden phone ring to the living area where she answers.",
            "visual_focus": "Suriyoung's cautious movement through the clean empty room, the door, the window, and the curtain"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Standing-height position in the living area, three to five feet from Suriyoung, keeping close enough to feel her startled breathing as she handles the phone and backpack",
            "stage_index": 3,
            "stage_label": "anxious_waiting",
            "transition_to_next": "The handheld movement follows her restless exit, then cuts into the bathroom at the sink for a tighter, more frontal observation.",
            "visual_focus": "Suriyoung reacting to the phone call, then preparing to leave with her backpack"
          },
          {
            "camera_motion": "static",
            "camera_position": "Eye-level frontal position at the bathroom sink, aligned with the mirror so Suriyoung's reflected face and the wall behind her share the frame",
            "stage_index": 4,
            "stage_label": "mirror_disturbance",
            "transition_to_next": "When she whips around and finds the wall empty, the camera cuts sharply back to the living and dining area, arriving with her panic.",
            "visual_focus": "Suriyoung's wet face in the mirror and the bathroom wall where the red circle appears and vanishes"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Table-height position beside the dining table, starting over Suriyoung's shoulder and pushing in toward the framed family photo lying on the tabletop",
            "stage_index": 5,
            "stage_label": "photo_reveal",
            "transition_to_next": "As the distorted image shocks her, the camera cuts tighter and higher to catch the immediate physical reaction on her face.",
            "visual_focus": "The framed photo of Suriyoung and Minsuk, especially Minsuk's smiling face as it becomes a flat hallucinated distortion"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight eye-level close-up position directly in front of Suriyoung, less than two feet from her face, compressed against the dining area background",
            "stage_index": 6,
            "stage_label": "self_control_impact",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's face at the moment she slaps herself to regain control"
          }
        ],
        "flow_summary": "카메라는 침대 곁의 정적인 피로감에서 출발해 방, 거실, 욕실을 따라 수리영의 불안한 동선을 끊어 이어가며 점점 더 가까워진다. 마지막에는 식탁 위 사진의 환영으로 시선을 압축한 뒤, 수리영의 얼굴 클로즈업으로 충격을 고정한다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "침대와 얼굴 사이의 거리를 더 좁혀 웅크린 자세와 지친 측면이 프레임 대부분을 차지하게 한다.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "수리영의 어깨 너머 시점을 버리고 사진 표면에 정면으로 붙어, 뭉개져 흘러내린 민숙의 얼굴 환영을 평면적으로 고정한다.",
            "flow_position": "end",
            "inherits": [
              "visual_focus"
            ],
            "shot_index": 13,
            "stage_index": 5
          },
          {
            "deviation_note": "충격이 닿는 순간에 맞춰 프레임을 흔들지 않고 멈춰 두어 손바닥과 뺨의 접촉 지점이 가장 강하게 읽히도록 한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 15,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the quiet supermarket aisle, at chest height, several meters behind and slightly to the side of Suriyoung as she moves between shelves",
            "stage_index": 1,
            "stage_label": "interior_search",
            "transition_to_next": "The camera follows her movement through the aisle, then eases toward the service area as she finds the employee.",
            "visual_focus": "Suriyoung searching through the empty aisles"
          },
          {
            "camera_motion": "static",
            "camera_position": "Inside the supermarket near the employee area, at eye level, positioned just behind Suriyoung and facing the male employee across a short conversational distance",
            "stage_index": 2,
            "stage_label": "dialogue_probe",
            "transition_to_next": "A hard cut carries the investigation outside to the building wall where the possible CCTV angle can be checked.",
            "visual_focus": "Suriyoung questioning the male employee about what he saw"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Outside the supermarket, at shoulder height beside Suriyoung, close to the exterior wall and angled upward enough to include the old wall-mounted CCTV camera",
            "stage_index": 3,
            "stage_label": "cctv_reveal",
            "transition_to_next": "After holding the CCTV direction, the camera lowers and moves closer to Suriyoung as she shifts from inspection to making a phone call.",
            "visual_focus": "Suriyoung's pointing gesture leading the eye to the old CCTV camera on the exterior wall"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Outside the supermarket, at upper-body height in front of Suriyoung, close enough for a tight medium shot while leaving the empty outdoor space beyond her gaze",
            "stage_index": 4,
            "stage_label": "phone_reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyoung listening on the phone with a serious expression"
          }
        ],
        "flow_summary": "카메라는 한산한 마트 안에서 수리영의 탐문을 따라가다가, 대화의 단서가 CCTV로 옮겨지는 순간 마트 밖 외벽으로 논리적 컷을 한다. 이후 외벽의 CCTV를 확인하는 측면 구도에서 수리영에게 가까이 다가가며, 혜수에게 전화를 거는 긴장된 반응으로 흐름을 좁힌다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame after the upward tilt settles, keeping Suriyoung in side profile with her finger frozen toward the CCTV camera.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten slightly more than the stage default so the phone pressed to her ear and her fixed, serious stare dominate the frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the rear corner of the cramped security office, standing height, several feet behind the seated security employee and facing the glowing monitor wall across the desk",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera moves forward from behind the security employee and slides slightly to the side of the monitor, narrowing attention from the room to the people studying the screen.",
            "visual_focus": "the security employee's back, the dim CCTV monitor, and the anxious figures gathered around it"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Beside the desk near the monitor line, eye level, closing from a medium distance into a tight angle on Hyesu's face as she faces the screen",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "After holding on Hyesu's frozen concentration, the camera tracks laterally along the desk toward the security employee to follow her decision to ask for the CCTV copy.",
            "visual_focus": "Hyesu's furrowed face as she tries to identify the dark CCTV image"
          },
          {
            "camera_motion": "track",
            "camera_position": "Along the front edge of the desk at seated-chest height, moving from Hyesu's position toward the security employee and the work surface between them",
            "stage_index": 3,
            "stage_label": "decision_exchange",
            "transition_to_next": "The camera tilts down and tightens toward the desk-level action as the exchange shifts from words to the storage device.",
            "visual_focus": "Hyesu's firm request and the security employee's acceptance across the desk"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low and close at desk height, within inches of Hyesu's hand, angled slightly downward so the hand and small storage device fill the frame",
            "stage_index": 4,
            "stage_label": "insert_reveal",
            "transition_to_next": "",
            "visual_focus": "Hyesu's fingers gripping the USB memory tightly"
          }
        ],
        "flow_summary": "카메라는 어두운 보안실 뒤편에서 모니터를 바라보는 인물들을 한 덩어리로 잡은 뒤, 화면을 판독하려는 혜수의 얼굴로 천천히 접근한다. 이후 책상 가장자리를 따라 대화의 방향으로 이동하고, 마지막에는 CCTV 복사를 받아내는 행위의 긴장감을 혜수의 손과 USB 클로즈업으로 압축한다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "Tighten slightly beyond the stage default so the monitor is no longer visible and only Hyesu's stopped expression and deeply furrowed brow dominate the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Use a more macro-like framing than the stage default, cropping out faces completely and emphasizing the pressure in Hyesu's fingers around the USB memory.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level just inside the police office entrance, about 12 feet from the main desks, facing inward along the aisle between workstations.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks backward as Hyesu and Suriyeong enter, then eases sideways toward the detective desk area to follow the paperwork exchange.",
            "visual_focus": "Hyesu and Suriyeong entering the busy police office under fluorescent light"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At chest height beside the detective desk, roughly 4 feet from the paperwork, angled three-quarters toward Hyesu and the detective across the desk.",
            "stage_index": 2,
            "stage_label": "paperwork_exchange",
            "transition_to_next": "As the detective and other officers leave for the meeting, the camera pans off the departing movement and settles back toward Hyesu's empty desk where Suriyeong is left alone.",
            "visual_focus": "The detective presenting documents and Hyesu responding across the desk"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Seated-eye height near Hyesu's desk, starting about 5 feet from Suriyeong and pushing in from the desk-corner side, with the tabletop photographs in the foreground plane.",
            "stage_index": 3,
            "stage_label": "private_discovery",
            "transition_to_next": "The push-in completes on Suriyeong's shocked reaction, then the camera shifts its axis across the desk toward the nearby computer monitor as the notification sound pulls her attention.",
            "visual_focus": "Suriyeong looking down at the disturbing crime-scene photographs and reacting to what they resemble"
          },
          {
            "camera_motion": "track",
            "camera_position": "At seated-eye height between Hyesu's desk and the adjacent computer station, about 3 feet from Suriyeong, sliding laterally from her shoulder line toward the glowing monitor.",
            "stage_index": 4,
            "stage_label": "monitor_reveal",
            "transition_to_next": "After holding the monitor information in Suriyeong's eyeline, the camera tilts and drops toward the desk surface as she searches for something to write with.",
            "visual_focus": "The computer monitor showing the phone location result and Suriyeong frozen at the mouse"
          },
          {
            "camera_motion": "static",
            "camera_position": "Very low tabletop height, within 8 inches of the paper, tight beside Suriyeong's writing hand so the pen tip and small note fill the frame.",
            "stage_index": 5,
            "stage_label": "evidence_recording",
            "transition_to_next": "The camera holds through the writing, then pulls back with her hand as the paper is folded and concealed.",
            "visual_focus": "Suriyeong pressing a ballpoint pen into a small piece of paper while copying the coordinates"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At waist-to-chest height near the desk edge, about 4 feet from Suriyeong, facing diagonally toward the office door beyond her.",
            "stage_index": 6,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyeong checking the empty office and moving toward the door with the hidden note"
          }
        ],
        "flow_summary": "카메라는 경찰서 입구에서 사무실 내부로 따라 들어온 뒤, 혜수의 책상에 홀로 남은 수리영을 중심으로 점점 가까워진다. 사진의 충격에서 모니터의 좌표 발견, 손끝의 메모까지 시선을 낮추며 추적한 뒤 출구 방향으로 물러난다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the end of the push-in into a face close-up, letting the disturbing photographs fall out of focus below frame while Suriyeong's widened eyes dominate.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At sidewalk level outside the police station, waist-high camera placed slightly to the side of the parked bicycle, about 10 feet from Suriyeong",
            "stage_index": 1,
            "stage_label": "ready_position",
            "transition_to_next": "As Suriyeong pushes off, the camera begins a lateral track parallel to her movement, matching her first acceleration.",
            "visual_focus": "Suriyeong seated on the bicycle, poised to start riding"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low full-body side-tracking position beside the bicycle, camera at about hip height and 8 to 12 feet away, moving forward parallel to Suriyeong",
            "stage_index": 2,
            "stage_label": "acceleration",
            "transition_to_next": "",
            "visual_focus": "Suriyeong leaning forward, gripping the handlebars and powering the bicycle into motion"
          }
        ],
        "flow_summary": "카메라는 경찰서 앞에 멈춰 선 수리영의 측면에서 출발해, 그녀가 자전거를 밀어내는 순간 옆으로 나란히 따라붙는다. 정적인 대기에서 측면 트래킹으로 전환되며 수리영의 출발 에너지를 연속적으로 포착한다.",
        "scene_index": 22,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly wider than the stage default to keep Suriyeong's entire body, the bicycle, the bent knee, and the forward pedal stroke visible in one composition.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "At seated eye level in the narrow aisle behind and slightly beside Suryoung, about 4 feet from the desk, angled toward the glowing monitor and her working posture",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera continues pushing forward over her shoulder until the monitor fills the frame, reducing the surrounding PC room to darkness.",
            "visual_focus": "Suryoung focused at the computer station, with the monitor glow as the dominant light source"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight frontal position directly facing the monitor, almost flush with the screen plane, at monitor height",
            "stage_index": 2,
            "stage_label": "screen_observation",
            "transition_to_next": "A cut shifts from the flat screen image to the real desk area beside Suryoung, landing closer to her hands and bag as the printed maps become the new focus.",
            "visual_focus": "A still maritime map image on the monitor with a red location pin fixed in place"
          },
          {
            "camera_motion": "track",
            "camera_position": "Waist-to-chest height at the side of the desk, about 3 feet from Suryoung, looking diagonally across her torso toward the open bag on the chair or floor edge",
            "stage_index": 3,
            "stage_label": "packing_reveal",
            "transition_to_next": "",
            "visual_focus": "Suryoung's upper body, the folded paper map, and the open bag receiving the maps"
          }
        ],
        "flow_summary": "카메라는 어두운 PC방 좌석 뒤에서 수리영의 작업을 따라 모니터로 밀착한 뒤, 화면 속 붉은 핀을 확인한다. 이후 실제 책상과 가방 쪽으로 논리적 컷을 타고 이동해, 출력된 지도가 가방 안으로 들어가는 행동에서 멈춘다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "Frame excludes Suryoung and the monitor bezel as much as possible, treating the maritime map image as a flat graphic insert.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the track at the moment the folded map is halfway inserted into the open bag, keeping Suryoung's face secondary or out of frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low roadside position on the rain-lashed coastal road, about knee height and several meters from the lane, facing diagonally into the empty stretch of pavement under the dark sky",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suriyeong rides into the frame, the camera leaves the static roadside view and begins tracking parallel to her movement along the road.",
            "visual_focus": "the stormy coastal road, heavy rain, and the approaching bicycle silhouette"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving parallel beside the bicycle at waist height, roughly two meters off Suriyeong's side, keeping pace with her pedaling through the rain",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The tracking camera gradually arcs forward from her side toward the front of the bicycle, rising to eye level and closing the distance to her face.",
            "visual_focus": "Suriyeong forcing the bicycle forward through the downpour"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Eye-level frontal position just ahead of the moving bicycle, less than one meter from Suriyeong, traveling backward at the same speed to hold a tight close distance",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's rain-soaked face and fierce forward stare through wet bangs"
          }
        ],
        "flow_summary": "카메라는 폭우가 쏟아지는 해안가 도로의 정지된 풍경에서 출발해, 자전거를 탄 수리영을 옆에서 따라붙고 전면으로 돌아 들어간다. 마지막에는 그녀의 속도와 맞춰 후진하며 젖은 얼굴과 앞을 노려보는 시선에 바짝 밀착한다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "앞머리에 맺힌 빗물과 눈빛이 강조되도록 기본 클로즈보다 조금 더 타이트하게 얼굴 중심으로 압축한다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Just inside the open rooftop room entrance, eye level, wide distance from the living area, facing inward across the ransacked room toward the bedroom corridor",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward track through the disturbed living area, using the overturned furniture as foreground layers while moving toward the open bedroom door.",
            "visual_focus": "the open entrance, scattered household objects, overturned chairs, and Suri-young frozen in shock"
          },
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height behind and slightly to the side of Suri-young near the bedroom doorway, medium distance, looking past her into the room",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera slips past Suri-young at the threshold and pans slightly toward the inner wall, tightening the distance to the marked surface.",
            "visual_focus": "Suri-young staring into her room and the ominous wall beyond her"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the bedroom, chest height, three to four feet from the wall, squarely facing the rough red circle and the pinned photograph",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "After holding on the wall, the camera shifts laterally and retreats toward the bed area as Suri-young pulls the photograph away, carrying the focus from the wall to her body.",
            "visual_focus": "the red circle on the bedroom wall and the blood-stained old black-and-white photograph pinned at its center"
          },
          {
            "camera_motion": "track",
            "camera_position": "Near the foot of the bed at waist height, medium-wide distance, angled toward the bed corner so the room disorder remains visible behind Suri-young",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "The camera lowers and moves closer along Suri-young's arm line, compressing the frame from her full body into the object gripped in her hand.",
            "visual_focus": "Suri-young collapsing onto the bed edge, stunned by the photograph and the chaos around her"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low and very close beside the bed edge, hand level, within inches of Suri-young's clenched fist holding the old photograph",
            "stage_index": 5,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suri-young's tense hand crushing the old photograph before she is drawn toward leaving the room"
          }
        ],
        "flow_summary": "카메라는 열린 현관 안쪽에서 난장판이 된 거실을 지나 수리영의 방문으로 천천히 접근하고, 벽의 붉은 원과 사진을 발견한 뒤 침대 쪽으로 흐르며 그녀의 붕괴를 따라간다. 마지막에는 전신 반응에서 손에 쥔 사진으로 시선을 압축해, 그녀가 밖으로 나가게 되는 심리적 압박을 손의 클로즈업으로 응축한다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame more rigidly than the stage's slow push, making the wall tableau feel like a discovered crime-scene detail.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Widen slightly from the stage default so Suri-young's full body and the bed corner are both contained in the frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 4
          },
          {
            "deviation_note": "Settle the dolly-in into a near-static macro hold at the end of the move, isolating the fist and the crumpled photograph from the rest of the room.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide, low-to-medium height behind the wet rocks, about 12 meters behind Suryoung, looking past her seated back toward the fog-covered harbor and open water.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow physical move forward from the rocks toward Suryoung, lowering attention from the empty harbor to her immediate presence as the phone vibration motivates the approach.",
            "visual_focus": "The empty foggy harbor, Suryoung's still back on the rocks, and the unseen sea beyond the mist."
          },
          {
            "camera_motion": "pan",
            "camera_position": "Close to Suryoung at seated shoulder height, about 1 meter off her side, angled down enough to catch her attention shifting from the phone back toward the sea.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The pan continues away from Suryoung toward the foggy waterline, letting the sea fill the frame until the incoming boat's direction becomes clear; then the camera cuts to the pier approach line.",
            "visual_focus": "Suryoung's tense stillness, the phone in her hand, and the fog where something begins to appear."
          },
          {
            "camera_motion": "track",
            "camera_position": "On the pier at waist height, moving along the dock edge several meters ahead of Suryoung as she advances toward the arriving boat.",
            "stage_index": 3,
            "stage_label": "approach",
            "transition_to_next": "The tracking move carries the camera to the mooring point, then it settles and reframes toward the boat as Inwoo steps into clear view with the rope.",
            "visual_focus": "The small boat emerging from the fog and Suryoung closing the distance to the dock."
          },
          {
            "camera_motion": "static",
            "camera_position": "On the dock at slightly below eye level, about 4 meters from Inwoo, three-quarter frontal angle that keeps his full body and the mooring line visible against the boat and pier.",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "Inwoo standing with one foot on the pier, holding the mooring rope as the boat finishes arriving."
          }
        ],
        "flow_summary": "카메라는 안개 낀 포구의 먼 관찰 지점에서 수리영의 고립감을 먼저 잡고, 그녀의 시선과 움직임을 따라 바다와 선창 쪽으로 이동한다. 마지막에는 선착 지점에 멈춰 배에서 내린 인우를 전신으로 드러내며 두 사람의 만남으로 흐름을 수렴시킨다.",
        "scene_index": 26,
        "shot_assignments": [
          {
            "deviation_note": "Keep Suryoung small in frame so the fog and empty harbor dominate the composition.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Hold a full-body framing and let the rope create a diagonal line from Inwoo's hand toward the boat, emphasizing that he has just secured the vessel.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the rooftop room near the entrance, eye-level at about 1.5 meters, wide distance from the center of the messy living room",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera continues its slow push inward through the clutter, narrowing from the room's disorder toward Hye-su at the center.",
            "visual_focus": "the ruined rooftop living room with Hye-su standing at the center holding a phone"
          },
          {
            "camera_motion": "static",
            "camera_position": "In the middle of the living room, eye-level, medium-close distance in front of Hye-su, slightly off-center to preserve the surrounding mess",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "After holding on Hye-su's frozen face, the camera tracks slightly past her shoulder to bring the space behind her into view.",
            "visual_focus": "Hye-su's rigid face, widened eyes, and the phone at her ear"
          },
          {
            "camera_motion": "track",
            "camera_position": "Just behind and to the side of Hye-su, eye-level, looking deeper into the room toward Detective Kim",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "The camera lets Detective Kim fall out of emphasis and pans toward the source of the rattling sound near the entrance.",
            "visual_focus": "Detective Kim standing behind Hye-su with an indifferent posture"
          },
          {
            "camera_motion": "pan",
            "camera_position": "From the living room interior looking back toward the rooftop room entrance, slightly lower than eye-level, medium distance from the old door",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "the old entrance door left crookedly ajar and rattling in the wind"
          }
        ],
        "flow_summary": "카메라는 난장판이 된 옥탑방 입구 쪽에서 시작해 거실 한가운데의 혜수에게 천천히 다가간 뒤, 그녀의 불안한 정지 상태를 붙잡는다. 이후 혜수 뒤편의 김형사 반응을 거쳐, 바람에 덜커덩거리는 현관문 쪽으로 시선을 흘려 황량함을 드러낸다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly wider than a pure close-up so the chaotic living room center remains visible around Hye-su's fixed face.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "On the open deck at seated chest height, slightly to the side of Suriyeong and about 6 feet from Inwoo, with the sea and fading horizon behind them",
            "stage_index": 1,
            "stage_label": "establishing_tension",
            "transition_to_next": "The camera begins a slow push across the space between the map, the photograph, and Inwoo, narrowing the distance as Suriyeong presses for an answer.",
            "visual_focus": "Suriyeong extending evidence toward Inwoo while Inwoo studies it with growing resistance"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Eye-level and very close to Inwoo, just off the line of Suriyeong's outstretched hand, about 2 feet from his face",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As Inwoo breaks from stillness, the camera releases the close-up into handheld movement, pulling aside and following his sudden turn toward the wheelhouse.",
            "visual_focus": "Inwoo's face freezing in shock as he recognizes the photograph"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Shoulder-height on the deck, moving alongside and slightly behind Inwoo as he rises and rushes toward the wheelhouse, then allowing Suriyeong to enter the frame in pursuit",
            "stage_index": 3,
            "stage_label": "panic_movement",
            "transition_to_next": "The camera tracks with the run, then arcs toward the wheelhouse entrance to arrive just before Suriyeong plants herself in the doorway.",
            "visual_focus": "Inwoo's abrupt escape toward the controls and Suriyeong noticing and following him"
          },
          {
            "camera_motion": "track",
            "camera_position": "Outside the wheelhouse entrance at chest height, centered on the doorway from Inwoo's approach side, about 5 feet from Suriyeong",
            "stage_index": 4,
            "stage_label": "blockade",
            "transition_to_next": "",
            "visual_focus": "Suriyeong facing forward and blocking the wheelhouse entrance with both arms"
          }
        ],
        "flow_summary": "카메라는 노을 진 갑판의 대치에서 시작해 증거가 인우에게 다가가는 압박을 따라 얼굴 클로즈업까지 밀고 들어간다. 인우가 조타실로 도망치려는 순간에는 흔들리는 추적 동선으로 전환해, 끝내 조타실 입구를 막아선 수리영의 정면에 도착한다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "Hold the push at its closest point, tightening to a face-only close-up so the widened eyes and parted lips dominate the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Square the camera perfectly to the doorway and reduce lateral motion to a near-lockoff so Suriyeong's blocking posture feels immovable.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the dim wheelhouse, chest height, medium distance behind and slightly left of Inwoo at the helm, looking across the wheel toward Suri-young.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow lateral track along the console toward the space between Inwoo and Suri-young, tightening the confrontation without breaking screen direction.",
            "visual_focus": "Inwoo gripping the wheel and Suri-young confronting him across the cramped wheelhouse."
          },
          {
            "camera_motion": "track",
            "camera_position": "Midway between the helm and Suri-young, eye level, about five feet from her, angled so the wheel remains in the near foreground and Suri-young dominates the frame.",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "As the photograph becomes the center of the argument, the camera lowers and pushes inward from Suri-young's face to her hands.",
            "visual_focus": "Suri-young's urgent accusation and the photograph being brought into the emotional center of the scene."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low close position above Suri-young's hands, about eighteen inches from the old photograph, with a slight top angle that isolates the paper from the surrounding wheelhouse.",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera tilts and rises from the photograph along Suri-young's pointing gesture toward Inwoo, then tracks forward to settle over his shoulder.",
            "visual_focus": "Suri-young's finger pressing the face of the young girl in the old black-and-white photograph."
          },
          {
            "camera_motion": "pan",
            "camera_position": "Tight over Inwoo's shoulder at eye level, roughly two feet behind him, using his rigid profile as foreground while the rear wall of the wheelhouse falls into view.",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "The camera pans away from the wall and back toward Suri-young as her awareness fails, then eases closer to catch the collapse into Inwoo's space.",
            "visual_focus": "Inwoo's drained reaction and the unsettling red circles visible beyond him on the wheelhouse wall."
          },
          {
            "camera_motion": "static",
            "camera_position": "Close frontal two-shot at shoulder height, about three feet in front of Inwoo and Suri-young, slightly low so Suri-young's collapsed head and Inwoo's fixed stare share the same vertical axis.",
            "stage_index": 5,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suri-young unconscious against Inwoo's shoulder while Inwoo looks down at her with a cold, hardened expression."
          }
        ],
        "flow_summary": "카메라는 조타실의 대치 구도에서 출발해 수리영이 내민 사진으로 낮게 파고들고, 그 사진이 인우의 반응과 벽면의 붉은 원으로 이어지도록 시선을 끌어올린다. 마지막에는 다시 두 사람의 거리로 돌아와 수리영이 인우의 어깨에 쓰러지는 순간을 정면에서 고정해 붙잡는다.",
        "scene_index": 29,
        "shot_assignments": [
          {
            "deviation_note": "Use an even tighter insert than the stage default, cropping out most of the wheelhouse so the pressed fingertip and the girl's face are the only readable elements.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold longer than the surrounding movement, letting the frame become nearly frozen after Suri-young's head lands on Inwoo's shoulder.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Wide, low over the sea at about 1 meter above the water, several boat lengths behind and slightly to the port side of a small fishing boat, looking forward into the sunset path on the water",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera continues tracking forward with the boat, closing the distance as the fog bank grows from a horizon line into a wall ahead.",
            "visual_focus": "the lone fishing boat moving across the golden dusk sea toward the distant fog bank"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Medium distance off the boat's forward quarter, just above wave height, aligned toward the bow and the dense gray fog boundary directly ahead",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera glides closer to the bow until the frame compresses around the point where wood, water, and fog meet.",
            "visual_focus": "the bow approaching the hard edge of the sea fog and the calm water parting beneath it"
          },
          {
            "camera_motion": "track",
            "camera_position": "Tight, low position beside the bow at water level, within a few meters of the hull, moving at the same speed as the boat as it enters the fog",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "the fishing boat's bow cutting the still water while disappearing halfway into the thick fog"
          }
        ],
        "flow_summary": "카메라는 노을빛 바다 위의 어선을 멀리서 따라가다가, 안개 장벽이 가까워질수록 뱃머리 쪽으로 낮고 밀착해 들어간다. 마지막에는 물결과 뱃머리, 짙은 안개의 경계에 붙어 배가 침묵 속으로 사라지는 순간을 포착한다.",
        "scene_index": 30,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly tighter on the half-submerged bow and the parted ripples, allowing the fog to swallow the forward half of the boat while keeping the motion slow and quiet.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "b97b4196-d159-473e-91c5-e04f261f9d78",
  "resolved_model": "gpt",
  "updated_at": "2026-06-02T08:53:25.514863+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}