{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low side-tracking position at waist height, about 8 feet from the Korean man, moving parallel through the foggy forest underbrush at dusk",
            "stage_index": 1,
            "stage_label": "panic_run_establishing",
            "transition_to_next": "The camera keeps pace with him, then drifts inward and slightly forward along the same running line to compress the distance to his upper body.",
            "visual_focus": "The Korean man running through dense bushes, his injured thigh and lifted bare foot visible in profile"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Close front-side position at chest height, within 3 feet of the Korean man as the camera backs through the brush ahead of him",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As his fear spikes, the camera pivots off his face toward the direction of the incoming threat, letting the movement feel like a startled reaction.",
            "visual_focus": "The Korean man's terrified, sweat-wet face and unstable breathing as he flees"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Ground-level three-quarter angle beside the falling path, about 5 feet from the Korean man, lens tilted slightly upward through the branches",
            "stage_index": 3,
            "stage_label": "attack_reveal",
            "transition_to_next": "At the instant the dark figure drops into frame, the motion breaks into a hard cut to an overhead view of the impact on the forest floor.",
            "visual_focus": "A large dark figure rushing down toward the Korean man from above and behind"
          },
          {
            "camera_motion": "cut",
            "camera_position": "High-angle overhead position roughly 10 feet above the forest floor, looking down through mist and foliage onto the collapsed Korean man",
            "stage_index": 4,
            "stage_label": "impact_aftermath",
            "transition_to_next": "",
            "visual_focus": "The Korean man fallen on the underbrush with the huge dark figure overlapping him"
          }
        ],
        "flow_summary": "카메라는 안개 낀 숲속에서 남자의 도주를 낮은 측면 트래킹으로 따라가다가, 그의 공포에 가까워진 뒤 시선을 위협의 방향으로 돌린다. 검은 인영이 덮치는 순간 움직임은 끊기고, 하이앵글 컷으로 쓰러진 남자와 그 위를 덮은 형체를 내려다본다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "Frame wider within the side-tracking path to hold the full body in profile, emphasizing the lifted bare foot and bleeding thigh during a suspended running beat.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Settle the overhead view into a stark high-angle composition after the cut, with the dark figure visually covering the fallen man more heavily than in the moving attack beat.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the mouth of the narrow alley, eye level, long distance from the utility pole under a dim streetlamp",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Begin a slow dolly-in along the alley axis, keeping the figures centered as the darkness compresses around them.",
            "visual_focus": "The tangled silhouettes of the man and the woman against the utility pole"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Midway down the alley, chest height, medium distance from the couple, slightly off-center to the man's shoulder side",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Continue pushing closer and raise the lens line subtly until the man's face fills the frame.",
            "visual_focus": "The man pressed close to the woman, their breathing and violent proximity becoming dominant"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close to the man's face, eye level, only a few inches from his eyes in deep shadow",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "As the woman loses strength, the camera breaks from the eyes and drops with the motion, pulling back toward the floor to reveal the aftermath.",
            "visual_focus": "The man's unnaturally glowing red eyes emerging from the darkness"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Low near the cold concrete floor, knee-to-ankle height, several feet back from the fallen woman with the alley stretching behind her",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The woman's limp full body lying motionless on the concrete"
          }
        ],
        "flow_summary": "카메라는 어두운 골목 입구에서 전봇대 아래 엉킨 두 사람을 멀리 포착한 뒤, 남자의 얼굴로 서서히 파고들어 붉은 눈동자에 도달한다. 이후 여자가 무너지는 흐름을 따라 시선을 바닥으로 낮추고 물러나며, 차가운 시멘트 위에 늘어진 전신을 드러낸다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "Tighten into an extreme close-up so that only the man's two red eyes register clearly inside the darkness.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          },
          {
            "deviation_note": "Settle into a wider low-angle framing that includes the woman's entire motionless body on the concrete, with her broken neck position readable without changing the alley orientation.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At waist height just inside the police line, several meters from the damaged bodies, looking across the foggy daytime scene toward the surrounding officers",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a lateral track along the inner edge of the police line, leaving the bodies in the background and searching through the cluster of officers.",
            "visual_focus": "the wider crime scene with officers surrounding the bodies"
          },
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height moving slowly between the officers, about three to four meters from the detective group, angled slightly upward through gaps in the crowd",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues forward through the group and narrows its angle as Hyesu becomes the dominant figure in the frame.",
            "visual_focus": "the detective group coordinating the investigation"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At chest-to-shoulder height within the detective group, about one to two meters from Hyesu, facing her upper body at a slight frontal angle",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu frozen mid-command with one arm raised and her mouth open"
          }
        ],
        "flow_summary": "카메라는 폴리스 라인 안쪽의 사건 현장 전체를 먼저 포착한 뒤, 경찰 무리 사이를 따라 이동하며 지휘부 쪽으로 접근한다. 마지막에는 형사들 사이의 혜수에게 밀착해, 허공을 강하게 가리킨 채 멈춘 그녀의 굳은 상체를 포착한다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly tighter on Hyesu’s rigid upper body and raised arm, letting the surrounding detectives remain as compressed background figures.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "High above the outer residential neighborhood, looking down from a distant elevated angle over aging low-rise buildings",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera slowly descends and drifts forward, narrowing attention from the neighborhood grid toward one old rooftop room.",
            "visual_focus": "the quiet outskirts and clusters of old multi-family buildings"
          },
          {
            "camera_motion": "track",
            "camera_position": "Above roof level, several meters away from the old rooftop room, moving laterally along the edge of the building at a calm observing distance",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera eases its lateral movement and settles into a stable wide exterior view of the rooftop.",
            "visual_focus": "the rooftop room exterior and the empty roof space around it"
          },
          {
            "camera_motion": "static",
            "camera_position": "A fixed wide shot at rooftop height, set across the roof with enough distance to include the rooftop room, the wooden platform, and the water tank in one quiet composition",
            "stage_index": 3,
            "stage_label": "still_observation",
            "transition_to_next": "",
            "visual_focus": "the deserted rooftop, the rooftop room exterior, the wooden platform, and the water tank"
          }
        ],
        "flow_summary": "카메라는 변두리 주거지의 높은 부감에서 낡은 옥탑방이 있는 건물로 천천히 내려오며 시선을 좁힌다. 마지막에는 옥상 높이의 고정된 와이드 구도로 멈춰, 아무도 없는 옥상의 정적과 불안을 오래 바라본다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "Frame the shot with calm daylight and emphasize the stillness of the empty rooftop by holding the composition without visible human activity.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "pan",
            "camera_position": "Inside the rooftop room at waist height, beginning beside the small window and kitchen counter, about 3 feet from the sink and stove, looking across the narrow room toward the living area",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The pan continues away from the kitchen details and settles toward the television corner, letting Minsuk enter the edge of frame before the camera eases closer to her side.",
            "visual_focus": "sunlit kitchen surfaces, running water, steaming pot, and the dim television glow beyond"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At shoulder height on Minsuk's left side, about 4 feet away, slightly behind the television axis so her profile and the TV light share the frame",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "When Suriyeong opens the door, the camera pivots off Minsuk and tracks laterally toward the room entrance, following the shift from secrecy to ordinary conversation.",
            "visual_focus": "Minsuk's tense side profile as she stares at the television screen"
          },
          {
            "camera_motion": "track",
            "camera_position": "Mid-room at seated eye level, moving between the doorway and the small dining table, roughly 5 to 6 feet from both women",
            "stage_index": 3,
            "stage_label": "domestic_exchange",
            "transition_to_next": "The movement resolves around the table, then a hard cut jumps forward in time to the entrance area as Suriyeong prepares to leave.",
            "visual_focus": "Suriyeong entering, Minsuk shutting down the television, and their conversation at the table"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Low near the entrance floor, about 3 feet from Suriyeong and 5 feet from Minsuk, angled upward enough to hold both women in the same spatial line",
            "stage_index": 4,
            "stage_label": "time_jump_reposition",
            "transition_to_next": "From the entrance two-shot, the camera creeps closer to Minsuk's lowered arm and tilts down to isolate the wrist.",
            "visual_focus": "Suriyeong at the entrance and Minsuk standing nearby in a gentle farewell moment"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close at chest-to-waist height beside Minsuk's arm, less than 1 foot from the inside of her wrist, with the entrance blurred behind",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "The lens leaves the wrist detail by a small upward tilt and lateral adjustment toward Suriyeong's face, converting the discovered detail into her reaction.",
            "visual_focus": "the clear dark red circular mark on the inside of Minsuk's wrist"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Tight at Suriyeong's face height near the entrance, about 2 feet from her, angled slightly from the wrist line up to her eyes",
            "stage_index": 6,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's eyes fixed on Minsuk's wrist with an indifferent expression"
          }
        ],
        "flow_summary": "카메라는 옥탑방의 주방 정물에서 시작해 TV를 보는 민숙의 불안한 측면으로 접근한 뒤, 수리영의 등장과 식탁 대화를 따라 방 안을 가로지른다. 이후 현관으로 시간 점프한 다음, 민숙의 손목 표식으로 바짝 들어가고 그 표식을 바라보는 수리영의 눈매로 시선을 끌어올린다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "Hold slightly longer on the side profile than the moving flow suggests, keeping the television glow implied off-frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten the distance to an extreme close-up so the circular mark fills the frame more than the base stage.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 5
          },
          {
            "deviation_note": "End the tilt on Suriyeong's eyes only, cropping out most of the surrounding entrance space.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the outer edge of the coastal road, chest height, wide distance from the bicycle lane, facing diagonally along the misty shoreline road",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a smooth lateral move toward the road as the bicycle enters the frame, narrowing the distance to Suriyeong.",
            "visual_focus": "the humid coastal road, pale sea mist, and the bicycle path opening into the seaside air"
          },
          {
            "camera_motion": "track",
            "camera_position": "Front-left of Suriyeong at upper-body height, about one and a half meters away, moving parallel with the bicycle at matching speed",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera glides slightly closer and rotates a few degrees inward to hold her face and pedaling motion more prominently.",
            "visual_focus": "Suriyeong smiling on the bicycle, her earbuds, wind-swept hair, and the downward press of one pedal"
          },
          {
            "camera_motion": "track",
            "camera_position": "Close front-side position beside the bicycle, just above handlebar height, within intimate upper-body distance",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong’s bright expression against the moving coastal background, with the offscreen dog bark cutting into the breezy rhythm"
          }
        ],
        "flow_summary": "카메라는 안개 낀 해안가 도로를 넓게 잡은 뒤, 자전거를 타고 들어오는 수리영에게 부드럽게 붙어 나란히 달린다. 마지막에는 상체와 표정을 가까이 따라가며 밝은 기분 속에 갑작스러운 개 짖는 소리가 끼어드는 순간을 준비한다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Frame as a lively upper-body view that includes the earphones, bright smile, wind-swept hair, and the visible downward pressure on one pedal.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "At kennel-door height, just inside the narrow aisle, chest-high and close to the bars, facing slightly upward toward the confrontation line between the rottweiler and Suri-young",
            "stage_index": 1,
            "stage_label": "confrontation",
            "transition_to_next": "The camera holds the tension, then slides a half-step laterally along the kennel bars to keep Suri-young's stare aligned with the dog as the animal's energy drops.",
            "visual_focus": "Suri-young's rigid face and unblinking eyes aimed directly at the aggressive dog"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low beside the kennel threshold, knee-high and angled across the dog’s body toward the veterinarian working near the rear of the animal",
            "stage_index": 2,
            "stage_label": "submission_and_injection",
            "transition_to_next": "After the injection beat, the camera rises and tracks backward down the aisle, widening the space from the kennel to include more cages and the shelter workload around Suri-young.",
            "visual_focus": "The subdued rottweiler on the floor and the veterinarian’s careful action beside it"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Mid-aisle of the shelter, eye-level, several steps back from Suri-young, looking past rows of kennels toward her as she takes in the waiting dogs",
            "stage_index": 3,
            "stage_label": "burden_reveal",
            "transition_to_next": "The camera continues backing away until it reaches the side wall, then pans with Suri-young as she steps out of the aisle and raises her phone.",
            "visual_focus": "Suri-young surrounded by caged dogs and the scale of the day’s tasks"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Against the shelter wall at shoulder height, close enough for a side-profile medium close-up, parallel to Suri-young as she leans near the wall",
            "stage_index": 4,
            "stage_label": "phone_reaction",
            "transition_to_next": "The camera leaves the wall with her by tracking toward the grooming area, turning the private phone beat back into the shelter’s ongoing work.",
            "visual_focus": "Suri-young's tense side profile as she listens to the unanswered phone"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside the grooming station, waist-high and at a modest working distance, angled down toward Suri-young’s hands and the small dog in her care",
            "stage_index": 5,
            "stage_label": "return_to_work",
            "transition_to_next": "",
            "visual_focus": "Suri-young moving into grooming work with the small dog"
          }
        ],
        "flow_summary": "카메라는 보호원 철창 앞의 맹견과 수리영의 정면 대치에서 시작해, 개가 잠잠해지는 순간을 따라가며 보호원 통로 전체의 업무 부담으로 물러난다. 이후 벽가의 전화 장면으로 옆으로 흐른 뒤, 다시 작업 공간으로 이동해 수리영이 일에 복귀하는 동선으로 이어진다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "Tighten from the stage’s confrontation setup into a fixed facial close-up, keeping the dog offscreen so the stare carries the threat.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "Settle the pan into a brief near-static side-profile hold, cropping out the larger kennel aisle to isolate the unanswered call.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Exterior street level, slightly behind and to the left of Suriyeong at bicycle-handlebar height, moving through the crowded commercial street toward the supermarket entrance",
            "stage_index": 1,
            "stage_label": "establishing_track",
            "transition_to_next": "The camera keeps pace with Suriyeong as she dismounts, then glides forward with her toward the supermarket doors.",
            "visual_focus": "Suriyeong navigating the neon-lit street and approaching the supermarket"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just inside the supermarket entrance, eye level, several meters in front of Suriyeong as she steps in and looks toward the aisles",
            "stage_index": 2,
            "stage_label": "interior_approach",
            "transition_to_next": "The camera retreats and pivots with her line of sight, guiding her deeper toward the display shelves and the female employee.",
            "visual_focus": "Suriyeong scanning the supermarket interior for her mother"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "In the display aisle, eye level, close enough to frame Suriyeong from the front with the female employee just across from her near the shelves",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera eases sideways from Suriyeong and the female employee toward the source of the male employee's voice near the adjacent shelving.",
            "visual_focus": "Suriyeong's confused face during the conversation with the middle-aged female employee"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Same display aisle, eye level, positioned between Suriyeong and the shelves, able to swing from her reaction toward the male employee carrying a box",
            "stage_index": 4,
            "stage_label": "reaction_reveal",
            "transition_to_next": "After the male employee's comment, the camera pans back toward Suriyeong, then begins to follow her as she turns away from the aisle.",
            "visual_focus": "The male employee interrupting from the shelving area and Suriyeong reacting to the new information"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind and slightly to the side of Suriyeong at shoulder height, moving from the aisle back through the supermarket entrance toward the street",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "The tracking move passes through the doors with Suriyeong and settles outside, allowing the darker street to take over the frame.",
            "visual_focus": "Suriyeong leaving the supermarket in growing concern"
          },
          {
            "camera_motion": "static",
            "camera_position": "Exterior sidewalk just outside the supermarket, eye level and close to Suriyeong, facing her from slightly above the glowing phone in her hands with the darkened street behind her",
            "stage_index": 6,
            "stage_label": "outside_phone_close",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's tense face as she stares down at the lit phone screen"
          }
        ],
        "flow_summary": "카메라는 해질녘 번화가에서 수리영을 따라 마트 안으로 들어가고, 진열대 앞 대화의 불안을 점점 가까이 관찰한다. 이후 같은 동선으로 그녀를 밖까지 따라나와, 어두워진 거리에서 휴대폰을 내려다보는 굳은 얼굴에 멈춘다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the framing to a face-dominant close-up, keeping the female employee's presence implied by Suriyeong's eyeline rather than fully included.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold fully static after the exterior tracking settles, letting the phone glow motivate the close facial emphasis.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "pan",
            "camera_position": "Low roadside position on the seaward edge of the dark coastal road, about waist height, several meters from the bicycle path, angled slightly down the road",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suriyeong rides into the frame, the pan continues and the camera begins to move laterally to match her speed.",
            "visual_focus": "the empty dark coastal road opening into Suriyeong's urgent approach on the bicycle"
          },
          {
            "camera_motion": "track",
            "camera_position": "Parallel tracking position beside Suriyeong, slightly behind her front wheel line, at upper-body height, close enough for a tight side profile while keeping the bicycle motion readable",
            "stage_index": 2,
            "stage_label": "urgent_side_observation",
            "transition_to_next": "The tracking speed eases off as Suriyeong pulls ahead, allowing her movement to carry her toward the far end of the road.",
            "visual_focus": "Suriyeong leaning forward and driving the bicycle pedals with urgency"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Roadside position falling back from Suriyeong's path, still at low-to-mid height, increasing the distance as she rides away into the night road",
            "stage_index": 3,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyeong receding along the coastal road"
          }
        ],
        "flow_summary": "카메라는 어두운 해안도로를 낮게 훑으며 수리영의 진입을 받아낸 뒤, 곧바로 옆으로 붙어 자전거의 속도와 긴박함을 따라간다. 마지막에는 속도를 늦추며 수리영이 밤길 속으로 앞서 나가도록 둔다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "Frame tightens on her side profile and upper body at the most forceful pedal stroke, emphasizing forward urgency without breaking the parallel tracking path.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low knee-height position on the rooftop, several meters from the rooftop room door, moving laterally past the clothesline and the drying platform toward the concrete path",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera continues tracking along the rooftop floor line, letting the wind-blown dry leaves lead the eye toward the man's feet near the door.",
            "visual_focus": "wind-tossed dry herb leaves, the clothesline, and the approach path across the rooftop"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very low position near the concrete floor, close to the rooftop room entrance, angled upward slightly toward the closed metal door and the man's hands",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "After the lock releases, the camera rises and slides closer behind the man as the door opens a narrow crack.",
            "visual_focus": "the door seam, the inserted leaflet, and the man's hand working the lock"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close behind the man at shoulder height, just outside the rooftop room threshold, looking through the narrow opening into the dark interior",
            "stage_index": 3,
            "stage_label": "threshold_intrusion",
            "transition_to_next": "A hard cut relocates the camera outside the room to the window side, shifting from the door breach to the reflected interior violence.",
            "visual_focus": "the man's rigid back and upper body leaning into the dim room through the slightly opened door"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the lit rooftop room window at eye height, close enough for the glass frame to dominate the foreground while the interior remains flattened into silhouette",
            "stage_index": 4,
            "stage_label": "window_reveal",
            "transition_to_next": "",
            "visual_focus": "Minsuk collapsed beyond the glass and the huge animal-like shadow opening its mouth over her shoulder"
          }
        ],
        "flow_summary": "카메라는 옥상 바닥의 바람과 마른 잎을 따라 철문 앞으로 낮게 접근한 뒤, 잠금이 풀린 문틈에서 침입자의 등 뒤로 밀착한다. 이후 창문 쪽으로 논리적 컷해, 밝은 유리 너머 민숙 위에 덮인 거대한 그림자 실루엣을 드러낸다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter on the narrow door gap so the dark interior is visible only as a threatening sliver beyond the man's back.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold the glass reflection and interior silhouette in a compressed composition, emphasizing the overlap between Minsuk's shoulder and the monstrous shadow.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "At shoulder height behind and slightly below Suriyoung on the narrow rooftop stair landing, about 2 meters back, angled upward along the concrete steps",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The handheld climb follows her momentum up the last steps and compresses distance as she reaches the rooftop threshold, settling into a tighter frontal angle when she stops.",
            "visual_focus": "Suriyoung rushing up toward the rooftop entrance"
          },
          {
            "camera_motion": "static",
            "camera_position": "At Suriyoung's eye level just outside the rooftop threshold, less than 1 meter from her face, slightly off-center to the front-left",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "A hard cut follows her disturbed eyeline from her frozen face toward the source of dread at the rooftop room entrance.",
            "visual_focus": "Suriyoung's tense face as she smells something foul and stops moving"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low eye-level in the rooftop corridor, about 1.5 meters from the half-open iron door, square to the doorway with darkness filling the gap",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The half-open iron door of the rooftop room, with the interior swallowed by darkness"
          }
        ],
        "flow_summary": "카메라는 수리영을 따라 계단 끝까지 급히 올라오다가 옥상 문턱에서 멈춘 얼굴에 붙어 냄새를 감지한 순간을 붙잡는다. 이어 그녀의 시선을 따라 반쯤 열린 철문으로 컷하며, 어둠 속 내부를 보이지 않게 남겨 불길함을 드러낸다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "Use an especially tight close-up so her furrowed brow, wrinkled nose, and abrupt stillness dominate the frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the frame as a still-life composition, keeping the interior nearly unreadable and the door gap visually ominous.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the half-open front doorway at shoulder height, then moving slowly into the dim living room along the central walking line, about 6 to 10 feet from the room’s main objects",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera continues its slow track past the living room clues and angles toward the inner hallway, letting the open bedroom doorway pull the eyeline forward.",
            "visual_focus": "the abandoned living room, the cold pot, the lit television, and the disturbed table setting"
          },
          {
            "camera_motion": "track",
            "camera_position": "At hallway height just outside the bedroom door, then lowering slightly to waist level as it follows the floor line into Suri-young’s room, 4 to 6 feet behind her path",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera follows the blood trail to the curtain, then rises behind the curtain line so the reveal can happen in the same direction of travel.",
            "visual_focus": "the bedroom threshold, scattered blood, and bloody footprints leading toward the curtain"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Near the bedroom window, eye level to slightly low, 8 feet from the curtain at first and pushing in to about 5 feet from the seated body",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "After holding the full-body reveal, the camera creeps closer and tilts down along the body toward the lowered arm and hand.",
            "visual_focus": "Minsuk seated motionless in front of the window after the curtain is pulled aside"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Low beside Minsuk’s seated body, about 2 feet from the lowered hand, lens angled downward from knee height toward the palm and the floor",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "The camera drifts from the clenched hand and photo across the wrist, then snaps its attention upward toward the bed wall as the supernatural mark appears.",
            "visual_focus": "Minsuk’s limp hand gripping a crumpled old photograph, with the wrist close enough to register the unnatural change"
          },
          {
            "camera_motion": "static",
            "camera_position": "At the foot side of the bed, chest height, squared directly to the blank wall above the bed from roughly 5 feet away",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "the vivid red circular mark on the empty wall above the bed"
          }
        ],
        "flow_summary": "카메라는 현관에서 거실의 이상한 정적을 훑고 안쪽 방으로 스며든 뒤, 핏자국을 따라 커튼 앞까지 접근해 민숙의 시신을 드러낸다. 이후 시선은 시신의 손과 사진으로 낮아졌다가, 마지막에는 침대 위 벽의 붉은 원형 표식으로 급격히 옮겨가며 공포를 확장한다.",
        "scene_index": 12,
        "shot_assignments": [
          {
            "deviation_note": "Hold the dolly movement at its end point long enough for a full-body still reveal of Minsuk before moving closer.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 3
          },
          {
            "deviation_note": "The handheld drift settles into a near-static still life framing so the crumpled photograph in Minsuk’s hand becomes the sole point of attention.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 15,
            "stage_index": 4
          },
          {
            "deviation_note": "Locked-off composition with no visible character movement, emphasizing the red circular mark as an unnatural final image.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 19,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At the rooftop doorway, chest height, about 2 meters behind Suriyoung, moving out onto the exterior landing and angling down the steep concrete stairs",
            "stage_index": 1,
            "stage_label": "escape_descent",
            "transition_to_next": "The camera continues descending with her momentum, then lets her run out ahead as it reaches the street-level landing and settles into a frontal position.",
            "visual_focus": "Suriyoung bursting from the rooftop room and fleeing down the exterior stairs"
          },
          {
            "camera_motion": "static",
            "camera_position": "On the dark roadside in front of the building, eye level, about 3 meters from Suriyoung, centered squarely on her front",
            "stage_index": 2,
            "stage_label": "stunned_pause",
            "transition_to_next": "The camera pans and shifts slightly toward the parked car area as Hyesu exits and rushes into the same foreground space.",
            "visual_focus": "Suriyoung standing motionless in the road, arms hanging and eyes unfocused"
          },
          {
            "camera_motion": "track",
            "camera_position": "Street level near the parked car, shoulder height, moving diagonally from the car toward Suriyoung across the concrete ground",
            "stage_index": 3,
            "stage_label": "approach",
            "transition_to_next": "The tracking move tightens around the two women, sliding to Suriyoung's side as Hyesu reaches her.",
            "visual_focus": "Hyesu discovering Suriyoung and running toward her"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight at Suriyoung's side, shoulder height, about 0.7 meters from her face, with Hyesu standing just in front of her eyeline",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "After the revelation lands, the scene cuts to the base of the exterior staircase behind Hyesu and Kim detective as they sprint upward.",
            "visual_focus": "Suriyoung's tearful side profile as she looks up at Hyesu and speaks"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Low behind Hyesu and Kim detective on the steep exterior stairs, knee-to-waist height, about 1.5 meters back, aimed upward toward the dark rooftop room",
            "stage_index": 5,
            "stage_label": "rush_upstairs",
            "transition_to_next": "",
            "visual_focus": "The backs of Hyesu and Kim detective as they leap up the stairs toward the rooftop room"
          }
        ],
        "flow_summary": "카메라는 옥탑방 출구에서 수리영의 탈출 동선을 따라 계단 아래 길가까지 내려오고, 멍하게 멈춘 수리영 앞에서 혜수의 접근을 받아들인다. 고백의 순간에는 수리영의 옆얼굴로 밀착한 뒤, 컷으로 계단 뒤편에 붙어 혜수와 김형사가 옥탑방으로 뛰어오르는 움직임을 따라간다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame longer than the moving descent suggests, emphasizing her frozen stillness against the dark roadside.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Frame tighter on Suriyoung's side profile, allowing Hyesu to remain mostly implied by Suriyoung's upward eyeline.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          },
          {
            "deviation_note": "Time the handheld rise to catch both figures briefly airborne as they take the stairs two steps at a time.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the open rooftop-room doorway at chest height, medium-wide distance, facing inward from the entry toward the living space",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to track forward from the doorway, letting Detective Kim and Hyesu fall behind as Suriyoung rushes toward her room.",
            "visual_focus": "Detective Kim and Hyesu searching the room, with the open interior beyond them"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving from the entry corridor into Suriyoung's room at shoulder height, slightly behind and to the side of Suriyoung",
            "stage_index": 2,
            "stage_label": "approach_reveal",
            "transition_to_next": "The camera slips deeper into the room and arcs around Suriyoung toward her front, tightening the distance as her attention locks on the empty curtain area.",
            "visual_focus": "The overly clean room, the bed area, and the empty curtain by the window"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close front three-quarter position at eye level, a few feet from Suriyoung, with the window and curtain area held in her eyeline",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "As Suriyoung turns away in panic, the camera tracks backward and pans with her movement out of the room toward the dining table.",
            "visual_focus": "Suriyoung's shocked face as she stares toward the empty curtain where the body should have been"
          },
          {
            "camera_motion": "track",
            "camera_position": "At the dining area beside the table, waist-to-chest height, moving laterally between Suriyoung at the tabletop and the adults near the room opening",
            "stage_index": 4,
            "stage_label": "confrontation",
            "transition_to_next": "After Detective Kim exits, the camera eases closer to Hyesu and Suriyoung, shifting from accusation to comfort without leaving the same room.",
            "visual_focus": "Suriyoung confronting the clean table, then Detective Kim's irritation and Hyesu's protective reaction"
          },
          {
            "camera_motion": "static",
            "camera_position": "Medium-close position beside and slightly in front of Suriyoung at shoulder height, angled upward enough to include Hyesu leaning over her",
            "stage_index": 5,
            "stage_label": "comfort_reaction",
            "transition_to_next": "A quiet cut returns to Suriyoung's room wall for a final observational detail.",
            "visual_focus": "Hyesu gently placing both hands on Suriyoung's shoulders and looking down at her with concern"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low static position inside Suriyoung's room near the inner wall, close to the floor and angled toward small personal objects",
            "stage_index": 6,
            "stage_label": "final_reveal",
            "transition_to_next": "",
            "visual_focus": "The backpack and doll sitting slightly out of place in the otherwise orderly room"
          }
        ],
        "flow_summary": "카메라는 현관에서 시작해 수리영을 따라 방 안의 빈 커튼까지 밀고 들어간 뒤, 그녀의 혼란을 따라 식탁과 어른들의 반응으로 이동한다. 김형사가 나간 후에는 혜수와 수리영의 가까운 위로 장면에 머물다가, 마지막에는 방 안의 미세하게 어긋난 물건들로 조용히 시선을 옮긴다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "The framing tightens more than the stage default, isolating Suriyoung's pale, stunned face while keeping the empty curtain area as the direction of her gaze.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "The frame favors Hyesu's upper body and her two hands resting gently on Suriyoung's shoulders, with the angle slightly raised to emphasize Hyesu looking down tenderly.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the edge of the coastal bus stop, waist height, three to four meters from the bench, angled slightly from the sea side toward the seated figure and the dark road beyond",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Hyesu steps into the bench area, the camera begins a slow lateral track along the bench line, closing the distance without breaking the observing angle.",
            "visual_focus": "Suriyoung sitting blankly on the bench with the night sea and empty stop around her"
          },
          {
            "camera_motion": "track",
            "camera_position": "Chest height beside the bench, about one meter from Hyesu, positioned slightly behind and to the side of her extended arm facing Suriyoung",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues past the offered drink toward Suriyoung, then tilts and adjusts upward as she suddenly rises from the bench.",
            "visual_focus": "Hyesu pausing with a cold canned drink extended toward Suriyoung"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Close to the bench at eye level, half a step back from Suriyoung's standing position, angled to keep Hyesu in the peripheral space",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "When Suriyoung breaks away, the camera pivots sharply toward the road and accelerates into a rear-following track.",
            "visual_focus": "Suriyoung abruptly standing, deciding to leave, with Hyesu reacting nearby"
          },
          {
            "camera_motion": "track",
            "camera_position": "On the dark coastal road, shoulder height, two to three meters behind Suriyoung, centered on her retreating path along the roadside",
            "stage_index": 4,
            "stage_label": "pursuit",
            "transition_to_next": "The camera lets Suriyoung gain distance, then cuts back toward the bus stop area as Hyesu's voice carries after her.",
            "visual_focus": "Suriyoung running away down the coastal road, seen from behind"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Low to the ground near the dark roadside bushes by the bus stop, several meters away from Hyesu, looking through foreground darkness toward the emptied bench area",
            "stage_index": 5,
            "stage_label": "watcher_reveal",
            "transition_to_next": "",
            "visual_focus": "Hyesu left behind near the bus stop, diminished in the uneasy surrounding darkness"
          }
        ],
        "flow_summary": "카메라는 버스정류장 벤치 곁에서 수리영과 혜수를 조용히 관찰하다가, 음료를 건네는 손을 따라 가까워지고 수리영의 갑작스러운 결심에 맞춰 도로 쪽으로 따라붙는다. 마지막에는 달아나는 수리영을 놓아주듯 거리를 벌린 뒤, 수풀 쪽 낮은 시선으로 돌아서 누군가 지켜보는 듯한 불안을 남긴다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the framing to Hyesu's upper body and the extended hand holding the cold can, keeping Suriyoung seated just beyond the gesture as the emotional target.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold Suriyoung at the peak of her stride from behind, with the camera slightly lower and centered on the forward pull of the road to emphasize urgency.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height just inside the police office doorway, about 10 feet from the desk, moving backward and slightly sideways as Hyesu enters the lit office.",
            "stage_index": 1,
            "stage_label": "establishing_approach",
            "transition_to_next": "The camera keeps tracking with Hyesu toward the duty desk, then arcs to the desk corner to include the seated detective's eyeline.",
            "visual_focus": "Hyesu entering while calling on her smartphone, her tension building as the call goes unanswered."
          },
          {
            "camera_motion": "pan",
            "camera_position": "At the front corner of the desk, seated eye level, about 4 feet from the detective, angled past Hyesu toward him.",
            "stage_index": 2,
            "stage_label": "desk_confrontation_setup",
            "transition_to_next": "As Hyesu pushes the smartphone forward, the camera slides inward along the desk line and tightens to the device at the detective's eye level.",
            "visual_focus": "The detective looking up from his chair with a casual, reluctant attitude toward Hyesu's request."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Extremely close at seated eye level directly in front of the detective, only a few inches from Hyesu's outstretched smartphone and tense wrist.",
            "stage_index": 3,
            "stage_label": "evidence_thrust_forward",
            "transition_to_next": "From the phone screen, the camera tilts and rises along Hyesu's rigid arm toward her face, shifting the power of the moment from the evidence to her resolve.",
            "visual_focus": "The smartphone screen showing Minsuk's phone number and Hyesu's firm hand holding it in the detective's face."
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Tight close-up from slightly below Hyesu's eye line, near the detective's seated perspective, about 2 feet from her face as she stands over the desk.",
            "stage_index": 4,
            "stage_label": "firm_reaction",
            "transition_to_next": "",
            "visual_focus": "Hyesu's face as she looks down with contained anger and unwavering certainty."
          }
        ],
        "flow_summary": "카메라는 사무실 입구에서 혜수의 불안한 진입을 따라 책상으로 접근한 뒤, 김형사의 시선 높이에서 스마트폰 화면으로 바짝 밀착한다. 이어 화면에서 혜수의 팔을 따라 위로 올라가며, 안일한 반응을 눌러버리는 혜수의 단호한 얼굴에 도달한다.",
        "scene_index": 16,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter than the stage default so the wrist tension and the phone number dominate, with the detective implied only by the eyeline position.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold the close-up at the top of the tilt, letting her pressed lips and downward gaze carry the confrontation.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Exterior rooftop level, low angle beside the cement wall, about 3 meters from the lit rooftop-room window, camera height just below the wall top",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow track along the wall line, keeping the glowing window as a background anchor while moving toward the cat's position.",
            "visual_focus": "the blue dawn light over the cement wall and the lit rooftop-room window"
          },
          {
            "camera_motion": "track",
            "camera_position": "On the wall line at cat height, 1 meter from the black cat, side-on to its body with the lit window across the frame behind its gaze",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As the cat commits to movement, the camera pans and slightly lowers its angle to follow the direction of the jump over the wall.",
            "visual_focus": "the black cat's side silhouette turning its head toward the lit window"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Still near the wall top, slightly behind and beside the cat's takeoff point, camera height following the arc down toward the far side of the wall",
            "stage_index": 3,
            "stage_label": "transition_over_wall",
            "transition_to_next": "",
            "visual_focus": "the cat leaving the wall and disappearing beyond it"
          }
        ],
        "flow_summary": "카메라는 새벽의 옥탑 외부를 낮은 높이에서 잡은 뒤, 담장 선을 따라 고양이의 실루엣으로 접근해 불 켜진 창문을 향한 시선을 포착한다. 이후 고양이가 담을 넘는 방향으로 시선을 돌리며 장면을 이어갈 수 있게 설계한다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "Hold the cat in crisp side silhouette while allowing the lit rooftop-room window to remain visible as the implied target of its gaze.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Inside the sunlit bedroom, chest height near the foot of the bed, about six feet from Suriyeong, looking toward her as she wakes and searches the quiet apartment",
            "stage_index": 1,
            "stage_label": "anxious_establishing",
            "transition_to_next": "The camera follows behind and slightly to the side as Suriyeong moves out of the bedroom toward her closed room, tightening the path into the doorway.",
            "visual_focus": "Suriyeong reacting to the empty apartment and moving toward the closed bedroom door"
          },
          {
            "camera_motion": "static",
            "camera_position": "In the hallway just outside Suriyeong's open bedroom doorway, low knee height, three feet back from the threshold, lens angled slightly downward through the opened door",
            "stage_index": 2,
            "stage_label": "room_reveal",
            "transition_to_next": "After the empty room is confirmed and the phone call beat passes, a clean cut relocates the camera to the bathroom sink, keeping the emotional line of Suriyeong's search continuous.",
            "visual_focus": "the spotless bedroom floor visible through the wide-open door, with no body and no bloodstains"
          },
          {
            "camera_motion": "static",
            "camera_position": "Inside the bathroom, eye height just behind Suriyeong's right shoulder at the sink, close enough to frame her shoulder edge and the mirror reflection together",
            "stage_index": 3,
            "stage_label": "mirror_omen",
            "transition_to_next": "When Suriyeong turns toward the wall and flees, the camera breaks into a handheld track behind her, carrying the panic out of the bathroom and into the dining area.",
            "visual_focus": "the mirror reflection of the rear tiled wall where a dark red circular mark appears"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving backward from the bathroom doorway into the living and dining area, chest height, staying a few feet ahead of Suriyeong as she reaches the table",
            "stage_index": 4,
            "stage_label": "panic_transfer",
            "transition_to_next": "The camera lets Suriyeong's movement land at the table, then tilts and pushes down into the framed photograph as her attention locks onto it.",
            "visual_focus": "Suriyeong rushing to the table, drinking water, and noticing the framed family photograph"
          },
          {
            "camera_motion": "static",
            "camera_position": "Very close above the dining table, tabletop height, less than two feet from the framed photograph, squared almost perpendicular to the image surface",
            "stage_index": 5,
            "stage_label": "photo_hallucination_reveal",
            "transition_to_next": "",
            "visual_focus": "the framed photograph of Suriyeong's mother with the smiling face distorted and melting like wet clay"
          }
        ],
        "flow_summary": "카메라는 수리영의 불안한 수색을 따라 침실에서 방문 앞, 욕실 거울, 거실 식탁으로 이동하며 빈 공간의 확인이 점점 환각의 확인으로 변해가게 만든다. 물리적으로 이어지는 추적과 방 사이의 컷을 섞어, 깨끗한 바닥에서 붉은 표식, 뭉개진 사진으로 공포의 초점을 단계적으로 좁힌다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame as a still-life reveal; Suriyeong remains outside the shot so the absence of the body dominates.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten the over-shoulder composition so the red circle sits at the center of the mirror image while Suriyeong's shoulder stays as a foreground anchor.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 3
          },
          {
            "deviation_note": "Use a tighter insert on the framed image, excluding the surrounding table as much as possible to make the melting face feel like the entire visual field.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 15,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Outside the quiet market entrance, eye-level at a medium-long distance across the forecourt, framing the doorway and the bicycle beside Suri-young in full body.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suri-young moves toward the entrance, the camera begins a forward track and follows her path into the market.",
            "visual_focus": "Suri-young paused at the market entrance with the bicycle handle, the empty early-morning storefront around her."
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside the market just behind and slightly to the side of Suri-young at shoulder height, moving through the aisles at a cautious walking pace.",
            "stage_index": 2,
            "stage_label": "search",
            "transition_to_next": "The tracking move slows near the shelves and settles into a tighter conversational angle when she reaches the male employee.",
            "visual_focus": "Suri-young scanning the quiet aisles and looking for the male employee."
          },
          {
            "camera_motion": "static",
            "camera_position": "Inside the aisle near the display shelves, chest-height and close enough for a two-person exchange, angled between Suri-young and the male employee.",
            "stage_index": 3,
            "stage_label": "inquiry",
            "transition_to_next": "A logical cut carries the scene from the interior conversation to the exterior wall where the possible camera position is checked.",
            "visual_focus": "Suri-young questioning the male employee about what he saw and whether footage might exist."
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Outside by the building wall, low-to-mid height near the corner of the exterior, angled upward toward the mounted surveillance camera.",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "The upward look at the surveillance camera tilts and eases down toward Suri-young's position, landing beside her face as she makes the call.",
            "visual_focus": "The exterior surveillance camera mounted on the wall where it could have captured the incident."
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside beside the building wall, close side angle at Suri-young's face height, a short distance from her profile with the wall and surveillance direction implied above her eyeline.",
            "stage_index": 5,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suri-young looking up toward the surveillance camera while speaking on her smartphone, her expression hardened by the new clue."
          }
        ],
        "flow_summary": "카메라는 한산한 마트 입구에서 수리영을 넓게 붙잡은 뒤, 그녀를 따라 내부 수색과 남자 직원과의 대화까지 이동한다. 이후 내부에서 외벽의 CCTV 위치로 논리적 컷을 두고, 카메라를 위로 올려 CCTV를 확인한 다음 수리영의 굳은 옆얼굴로 내려앉는다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wide enough to keep her full body and the bicycle handle visible, emphasizing the stillness before she enters.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten from the stage's side angle into a closer profile, keeping the smartphone at her ear and her upward eyeline toward the surveillance camera clear.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Very close to the desk monitor, lens at seated eye height, about 1 foot from the screen, slightly off-center to avoid reflections",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera dollies backward from the monitor and pans slightly right, widening to reveal the people gathered around the desk.",
            "visual_focus": "the dark black-and-white CCTV playback on the monitor"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "In front of the desk near the monitor edge, seated eye height, about 4 feet from the security employee and Hyesu, angled to see both upper bodies facing the screen",
            "stage_index": 2,
            "stage_label": "shared_observation",
            "transition_to_next": "The camera tracks clockwise around the desk toward Hyesu's side, tightening the distance as her attention shifts from the screen to the security employee.",
            "visual_focus": "the security employee at the monitor and Hyesu studying the screen beside him"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside Hyesu at shoulder height, about 2 feet from her profile, with the security employee just beyond her eyeline",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera eases past Hyesu's profile toward the seated security employee, preparing for his answer and the practical exchange about the CCTV copy.",
            "visual_focus": "Hyesu's tense side profile as she turns toward the security employee"
          },
          {
            "camera_motion": "static",
            "camera_position": "Across the desk from the seated security employee, seated eye height, about 3 feet away, holding a compact reaction angle that still suggests Hyesu nearby",
            "stage_index": 4,
            "stage_label": "response",
            "transition_to_next": "",
            "visual_focus": "the security employee responding to Hyesu's request"
          }
        ],
        "flow_summary": "카메라는 어두운 CCTV 화면에서 시작해 뒤로 빠지며 모니터 앞의 보안직원과 혜수를 함께 포착하고, 이어 책상 가장자리를 따라 혜수의 옆얼굴로 가까이 이동한다. 화면의 불확실함에서 혜수의 긴장된 판단으로 시선의 중심이 옮겨가는 흐름이다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "Frames the security employee and Hyesu as upper bodies only, keeping the monitor implied just outside or at the edge of frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Tightens slightly on Hyesu's half-open mouth and fixed expression as she turns toward the security employee.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height just inside the police office entrance, wide distance from the desks, looking inward through the busy room",
            "stage_index": 1,
            "stage_label": "establishing_entry",
            "transition_to_next": "The camera tracks forward with the arriving women, narrowing from the doorway into the main desk area as the office noise surrounds them.",
            "visual_focus": "Hyesu and Suriyoung entering the cluttered police office among working detectives"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At standing chest height beside the central desk cluster, medium distance from Hyesu and the detective's desk",
            "stage_index": 2,
            "stage_label": "procedural_pressure",
            "transition_to_next": "As the detectives are called away, the camera pans and lets the departing bodies clear the frame, then settles toward Suriyoung left alone near Hyesu's desk.",
            "visual_focus": "The exchange of forms between Hyesu and the detective, with Suriyoung caught at the edge of the official routine"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At seated eye level on the near side of Hyesu's desk, close enough to skim over the scattered case photographs toward Suriyoung",
            "stage_index": 3,
            "stage_label": "close_observation_photo_shock",
            "transition_to_next": "Triggered by the computer alert sound, the camera leaves the photographs and tracks across the empty aisle toward the detective's vacant desk and monitor.",
            "visual_focus": "Suriyoung's face as she confronts the gruesome enlarged photographs on the desk"
          },
          {
            "camera_motion": "track",
            "camera_position": "At desk height between Hyesu's desk and the detective's vacant workstation, moving laterally across the open office gap",
            "stage_index": 4,
            "stage_label": "secret_approach_to_monitor",
            "transition_to_next": "After the location result fills the monitor, the camera cuts closer to Suriyoung's side of the desk as she searches for something to write with.",
            "visual_focus": "The empty office, the glowing monitor notification, Suriyoung's cautious glance, her hand on the mouse, and the location result"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At standing chest height beside the detective's desk, close medium distance from Suriyoung, slightly angled from the monitor side toward the office exit",
            "stage_index": 5,
            "stage_label": "reaction_and_escape_decision",
            "transition_to_next": "",
            "visual_focus": "Suriyoung frozen pale with a pen and torn paper, then committing the coordinates to memory and preparing to leave"
          }
        ],
        "flow_summary": "카메라는 경찰서 입구에서 사무실 안으로 따라 들어온 뒤, 사람들의 이탈과 함께 수리영에게 점점 고립되어 붙는다. 책상 위 사진에서 충격을 포착한 카메라는 알림 소리를 따라 빈 책상과 모니터로 이동하고, 좌표를 본 수리영의 결심으로 빠져나가는 흐름을 만든다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "Tighten from the stage's desk-level push-in into a facial close-up, holding the gruesome photographs only as off-screen eyeline motivation.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold the dolly-out at its earliest point as a stiller close medium upper-body frame before following the note toward the pocket and exit.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At curb level outside the police station, waist-high and set several meters back from the parked bicycle, angled slightly toward the road",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Su-ri-young pushes off, the camera pivots with her first movement and begins to match her direction along the road.",
            "visual_focus": "The parked bicycle, the police station frontage, and Su-ri-young preparing to ride away"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low parallel tracking position on the road, about 1 meter high and 4 meters to the side of Su-ri-young, keeping pace with her bicycle",
            "stage_index": 2,
            "stage_label": "acceleration_side_track",
            "transition_to_next": "The tracking move continues for a beat, then gradually lets Su-ri-young move ahead toward the edge of frame.",
            "visual_focus": "Su-ri-young in a dynamic side full-body profile, bent low over the bicycle and pedaling hard"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Roadside position just behind the tracking line, chest-high and slightly trailing Su-ri-young as she rides away",
            "stage_index": 3,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Su-ri-young gaining distance down the road outside the police station"
          }
        ],
        "flow_summary": "카메라는 경찰서 앞에 세워진 자전거를 바라보는 위치에서 시작해, 수리영이 출발하는 순간 도로 옆으로 나란히 붙어 달리며 속도감을 따라간다. 이후 그녀가 프레임을 앞질러 멀어지도록 두며 짧게 빠져나가는 흐름으로 마무리한다.",
        "scene_index": 22,
        "shot_assignments": [
          {
            "deviation_note": "Emphasize a suspended, airborne instant by holding the side profile at the peak of her pedal stroke while keeping her entire body and bicycle within frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Tight eye-level close-up just in front of Suriyoung at the computer desk, slightly below her eyeline and framed through the dim blue spill from the monitor, about 1 foot from her face",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "A sharp eyeline cut moves from her concentrated face to the source of the blue light on the monitor.",
            "visual_focus": "Suriyoung's compressed lips and focused eyes in the dark PC room"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Extreme close insert at monitor height, square to the computer screen, close enough for the digital map and coordinate pin to fill the frame",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "The camera pulls away from the screen line and tracks down toward the desk action, following the practical workflow from coordinates to printed maps.",
            "visual_focus": "The digital map pointing to open sea and the coordinate pin on the screen"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low desk-level position beside the computer station, moving laterally from the monitor area toward the nearby printer tray and then down toward the open backpack space",
            "stage_index": 3,
            "stage_label": "task_continuation",
            "transition_to_next": "",
            "visual_focus": "The printed map pages being gathered, folded, and packed away"
          }
        ],
        "flow_summary": "카메라는 어두운 PC방에서 수리영의 얼굴에 붙어 긴장을 관찰한 뒤, 그녀의 시선을 따라 모니터 속 좌표로 단호하게 절단된다. 이후 같은 작업선 위에서 화면의 정보가 인쇄물과 백팩으로 이어지는 동선을 따라 낮게 이동한다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Hold the frame completely flat to the monitor surface so the sea map and coordinate pin read as a graphic insert rather than an over-the-shoulder view.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low on the coastal road ahead of the bicycle path, about handlebar height, lens angled steeply upward toward the storm clouds",
            "stage_index": 1,
            "stage_label": "storm_establishing",
            "transition_to_next": "As lightning strikes, the camera tilts down from the clouds toward the road line where the cyclist is charging forward, maintaining the same forward position on the path.",
            "visual_focus": "dark thunderclouds, lightning, and heavy rain cutting across the frame"
          },
          {
            "camera_motion": "track",
            "camera_position": "Directly in front of Su-ri-yeong on the coastal road, mounted low and close at handlebar-to-chest height, moving backward at the bicycle's speed",
            "stage_index": 2,
            "stage_label": "approach_close_observation",
            "transition_to_next": "The camera continues tracking backward, then eases slightly to one side to let her momentum carry past the lens.",
            "visual_focus": "Su-ri-yeong leaning forward through the rain, her tense upper body and hands gripping the bicycle handlebars"
          },
          {
            "camera_motion": "track",
            "camera_position": "Front-side of the moving bicycle, slightly off Su-ri-yeong's right shoulder at chest height, keeping pace along the rain-soaked coastline",
            "stage_index": 3,
            "stage_label": "driving_forward",
            "transition_to_next": "",
            "visual_focus": "Su-ri-yeong pushing onward through the downpour, with the blurred coastline and storm behind her"
          }
        ],
        "flow_summary": "카메라는 해안가 길 위 낮은 위치에서 먹구름과 번개를 올려다본 뒤, 같은 축을 따라 빗속을 돌진해오는 수리영의 상체와 핸들 앞으로 내려와 함께 후진 트래킹한다. 이후 그녀의 진행 방향을 유지하며 옆으로 빠져, 폭우 속 질주감을 이어간다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly wider and tilted upward than the stage default so the lightning-streaked sky remains visible above Su-ri-yeong while her hands and forward-leaning upper body dominate the foreground.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the open rooftop-room doorway, eye level, just outside the threshold, full-body distance from Suri-young facing into the room",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera crosses the threshold with a slow forward track, letting Suri-young remain in the foreground before drifting past her into the room.",
            "visual_focus": "Suri-young frozen in the doorway, breathing hard against the disturbed interior behind her"
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside the main room at waist height, moving from the entrance toward the center of the cluttered living space",
            "stage_index": 2,
            "stage_label": "intrusion_trace",
            "transition_to_next": "The camera continues its path toward the open bedroom door, rising slightly and narrowing its angle as if following Suri-young's attention.",
            "visual_focus": "overturned chairs, the open window, scattered household objects, and muddy footprints across the floor"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At the bedroom doorway, shoulder height, angled past Suri-young toward the inner wall of the bedroom",
            "stage_index": 3,
            "stage_label": "approach_reveal",
            "transition_to_next": "The lens pushes deeper into the bedroom wall until the red circle fills the frame and the photograph becomes the center of gravity.",
            "visual_focus": "the rough red circular mark on the bedroom wall with the old photograph pinned at its center"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close to the bedroom wall, slightly below eye level, perpendicular to the pinned photograph",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "After the close view, the camera follows the photograph as it is removed, then cuts through the memory association before returning to Suri-young's physical reaction in the room.",
            "visual_focus": "the crumpled old black-and-white photograph marked with dark blood along its edge"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Back inside the bedroom, chest height, near the foot of the bed and facing Suri-young as she collapses into stillness",
            "stage_index": 5,
            "stage_label": "reaction",
            "transition_to_next": "The camera pivots and withdraws with Suri-young as she gathers herself, moving out from the bedroom into the main room toward the exit.",
            "visual_focus": "Suri-young absorbing the shock of the photograph and the wrecked room around her"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low and close beside Suri-young as she moves through the main room toward the doorway, hand-level distance from her clenched fist",
            "stage_index": 6,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suri-young's hand crushing the bloodstained old photograph as she leaves"
          }
        ],
        "flow_summary": "카메라는 열린 현관문 앞의 수리영을 정면으로 붙잡은 뒤, 그녀의 시선을 따라 엉망이 된 거실을 지나 방 안의 붉은 원과 사진으로 점점 파고든다. 사진의 충격을 확인한 후에는 다시 수리영에게 붙어 물러나듯 따라가며, 마지막에는 손아귀에 구겨지는 사진으로 불안을 압축한다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "Frame holds wider than the later flow so her whole body and the open threshold read clearly before the camera begins to enter.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Push reaches its tightest point; the red circle becomes mostly peripheral while the bloodied photograph dominates the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          },
          {
            "deviation_note": "Camera drops from general following height to hand level, isolating the fist so the rest of the room falls out of emphasis.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low wide position on the wet harbor rocks, about 10 meters from Suriyoung, knee-to-waist height, facing across the empty harbor toward the fog-covered sea",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera continues its slow push until Suriyoung and the fog line dominate the frame, then pans slightly with her attention toward the sound and movement in the mist.",
            "visual_focus": "Suriyoung crouched on the rocks, isolated against the empty foggy harbor"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Behind and slightly to the side of Suriyoung on the rocks, shoulder height, about 2 meters away, looking past her toward the open water",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "As the boat becomes visible and Suriyoung rises, the camera leaves the rocks and tracks with her movement toward the mooring point.",
            "visual_focus": "The foggy sea beyond Suriyoung where a small fishing boat emerges"
          },
          {
            "camera_motion": "track",
            "camera_position": "Along the dock edge at waist height, moving parallel to Suriyoung from a three-quarter rear side angle as she approaches the boat",
            "stage_index": 3,
            "stage_label": "approach",
            "transition_to_next": "A cut is motivated by the rope and dock action, jumping closer to the boat side where Inwoo is securing the line.",
            "visual_focus": "Suriyoung closing the distance to the boat and the mooring area"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight dock-side position beside the boat, eye level and less than 1 meter from Inwoo, angled slightly upward across the rope line",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "After Inwoo's guarded glance and the exchange, the camera cuts back toward Suriyoung and reorients to the sea-facing side of the pier for her message.",
            "visual_focus": "Inwoo's eyes and restrained reaction while he holds the rope"
          },
          {
            "camera_motion": "track",
            "camera_position": "At the pier edge, eye level, about 1.5 meters from Suriyoung's side profile, parallel to the shoreline with the foggy sea filling the background",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's side profile as she records a voice message with the sea behind her"
          }
        ],
        "flow_summary": "카메라는 안개 낀 빈 포구의 넓은 고립감에서 출발해 수리영의 시선을 따라 바다와 배로 이동하고, 밧줄을 묶는 인우의 가까운 반응으로 좁혀진다. 이후 다시 수리영의 옆으로 물러나 안개 낀 바다를 배경으로 결심을 남기는 순간에 정착한다.",
        "scene_index": 26,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wider at first to preserve Suriyoung's full crouched body and the empty harbor before the push-in becomes noticeable.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Compress the framing into an eyes-only close-up while keeping the rope implied at the edge of the frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          },
          {
            "deviation_note": "The tracking move settles into an almost still side-profile composition, with the smartphone held close to her mouth.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the dim rooftop-room living area, at seated upper-body height, medium-close distance directly in front of Hyesu, slightly below eye level",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "As Hyesu turns her attention toward Detective Kim, the camera leaves the hold and begins a slow lateral move across the room toward his side of the conversation.",
            "visual_focus": "Hyesu frozen with a smartphone at her ear, her stunned face held in the dark interior"
          },
          {
            "camera_motion": "track",
            "camera_position": "Still inside the living area, moving laterally to a medium upper-body distance from Detective Kim, at eye level and slightly off to his front-left side",
            "stage_index": 2,
            "stage_label": "reaction",
            "transition_to_next": "The rattling entrance door sound pulls the camera off Detective Kim; it pans toward the doorway without changing the room’s axis.",
            "visual_focus": "Detective Kim’s indifferent reaction, his head slightly angled as he answers Hyesu"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near the center of the rooftop-room living area, eye-level, looking past the conversation space toward the half-open entrance door",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The rattling entrance door and the gray dusk sky beyond it"
          }
        ],
        "flow_summary": "카메라는 어두운 거실 안에서 혜수의 얼어붙은 얼굴을 붙잡은 뒤, 대화의 시선을 따라 옆으로 이동해 김형사의 무심한 반응에 도착한다. 이후 현관문의 덜컹거림에 이끌려 공간 바깥의 황량한 기운까지 시선을 흘려보내는 연속 동선이다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "Frame as an upper-body shot with the smartphone kept close to her ear; hold the camera still to emphasize her shock.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Let the tracking move settle into a brief near-static hold so his twisted lips and slight head tilt read clearly.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Water-level exterior position about 30 meters ahead and slightly off the bow, moving backward in front of the small fishing boat at sunset",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Hard cut from the open-sea exterior into the deck space, preserving the boat's forward momentum through the sound and motion of the water.",
            "visual_focus": "the old small fishing boat cutting through red sunset water"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low on the deck, about 1 meter from the seated pair, angled sideways across the floor between Suriyeong and Inwoo",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The dolly-in settles into a tighter side position as Suriyeong raises the old photograph into Inwoo's eyeline.",
            "visual_focus": "the map and the tense exchange between Suriyeong and Inwoo"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight side position at hand height, roughly 60 centimeters from Suriyeong's extended hand and just in front of Inwoo's sightline",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "A sudden handheld pan and body pivot follows Inwoo as he snaps upward and breaks toward the wheelhouse.",
            "visual_focus": "Suriyeong's hand forcing the old black-and-white photograph into Inwoo's view"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Very low on the deck, slightly behind and to the side of Inwoo, aimed toward the wheelhouse entrance about 3 meters ahead",
            "stage_index": 4,
            "stage_label": "reaction_escape",
            "transition_to_next": "",
            "visual_focus": "Inwoo launching off the deck and rushing toward the wheelhouse"
          }
        ],
        "flow_summary": "카메라는 노을 속 바다 위를 가르는 어선의 외부 원경에서 출발해, 컷으로 갑판 안쪽의 대화 공간에 진입한 뒤 점점 손과 사진, 인우의 시선으로 압축된다. 사진이 인우를 몰아붙이는 순간 정적인 관찰이 깨지고, 카메라는 낮게 흔들리며 조타실로 튀어나가는 인우의 움직임을 따라간다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "Keep the frame wide enough to show the boat's isolation on the water while maintaining the sense that the camera is traveling with the bow's forward motion.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten the side composition so the old photograph dominates the foreground and Inwoo's blocked eyeline remains readable beyond it.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Drop the camera slightly closer to deck level to emphasize Inwoo's feet leaving the floor and the explosive direction of his movement toward the wheelhouse.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the wheelhouse, chest-height, about 12 feet from the helm, facing the wheel head-on with enough width to hold both people full-body in the same frame",
            "stage_index": 1,
            "stage_label": "establishing_confrontation",
            "transition_to_next": "The camera begins a slow push forward from the wide standoff, keeping the helm as the anchor while narrowing onto the argument between 수리영 and 인우.",
            "visual_focus": "Suriyoung blocking the helm and pushing against Inwoo in front of the wheel"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "On the center line of the wheelhouse, chest-height, moving from a medium-wide distance to a tighter two-shot near the helm",
            "stage_index": 2,
            "stage_label": "approach_tension",
            "transition_to_next": "As the dialogue shifts to the missing mother and the photograph, the camera tilts and drops its attention from their faces toward Suriyoung's hands.",
            "visual_focus": "The escalating confrontation between Suriyoung and Inwoo, with the wheel trapped between them"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Close beside Suriyoung's torso at hand height, about 1 foot from the photograph, angled downward over the space between her and Inwoo",
            "stage_index": 3,
            "stage_label": "close_observation_photo",
            "transition_to_next": "From the photograph, the camera rises and tracks around Inwoo's shoulder line, letting the background wall of the wheelhouse come into view behind his face.",
            "visual_focus": "Suriyoung's hand pressing a finger onto the young girl's face in the old black-and-white photograph"
          },
          {
            "camera_motion": "track",
            "camera_position": "Tight over Inwoo's shoulder at eye height, about 2 feet behind and slightly to his side, with the wheelhouse wall visible beyond him",
            "stage_index": 4,
            "stage_label": "reveal_mark",
            "transition_to_next": "The camera continues its sideward track as Suriyoung loses strength, following her forward collapse into Inwoo's shoulder and settling into his profile.",
            "visual_focus": "Inwoo's stunned face aligned with the many circular markings on the wheelhouse wall and the vivid red circular mark among them"
          },
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height on Inwoo's sharp side profile, about 3 feet away, slightly below his eye line and angled downward toward Suriyoung leaning against him",
            "stage_index": 5,
            "stage_label": "cold_reaction_collapse",
            "transition_to_next": "",
            "visual_focus": "Inwoo looking down coldly at Suriyoung after she collapses onto his shoulder"
          }
        ],
        "flow_summary": "카메라는 조타실 방향타 앞의 대치 상황을 넓게 잡은 뒤, 인물들 사이로 천천히 파고들어 사진의 단서와 벽면의 붉은 원을 거쳐 인우의 차가운 측면으로 이동한다. 전체 흐름은 물리적 전진과 측면 트래킹으로 이어지며, 수리영의 분노가 단서 발견과 실신으로 무너지는 과정을 한 방향의 압박감으로 묶는다.",
        "scene_index": 29,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wide enough to show Suriyoung's full body and both hands pressing into Inwoo's chest, while the helm remains clearly blocked behind them.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten the framing to an extreme hand close-up and let the finger pressure on the girl's face dominate the image; the rest of the wheelhouse falls out of focus.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Settle on a colder, sharper side angle of Inwoo with his head slightly tilted, keeping Suriyoung's collapsed weight present at the lower edge of the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide offshore position, about 3 meters above the water and far from the boat path, facing west across the dark sea toward the sunset reflection",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow pan along the glowing waterline toward the denser gray mass swallowing the horizon.",
            "visual_focus": "the golden sunset reflection stretching over the dark sea surface"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Mid-distance over open water, about 2 meters above the surface and angled toward the fog bank where the horizon disappears",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "As the fog wall fills the frame, the camera picks up the old fishing boat entering from behind the haze and starts tracking forward on its course.",
            "visual_focus": "the massive gray fog wall lying low over the sea"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low bow-level position on the water, slightly ahead and off the front quarter of the old fishing boat, about 1 meter above the surface and 6 meters from the bow",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "the old fishing boat's bow cutting halfway into thick fog as white wake splits around the hull"
          }
        ],
        "flow_summary": "카메라는 해질녘 바다의 넓은 정경에서 안개 벽으로 시선을 옮긴 뒤, 어선의 진행 방향을 따라 낮게 접근한다. 마지막에는 뱃머리와 물살을 가까이 따라가며 배가 안개 속으로 사라지는 순간에 머문다.",
        "scene_index": 30,
        "shot_assignments": [
          {
            "deviation_note": "Frame holds the bow as a cold silhouette, with the hull partially swallowed by fog and the split white wake emphasized in the lower foreground.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "694978f4-5902-433f-b1bd-fe7904d9c8ac",
  "resolved_model": "gpt",
  "updated_at": "2026-06-17T07:26:48.982853+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}