{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At ankle height, two body lengths behind and slightly to the side of the fleeing man",
            "stage_index": 1,
            "stage_label": "pursuit_establishing",
            "transition_to_next": "The camera accelerates alongside the man and closes the lateral distance while maintaining his direction of travel.",
            "visual_focus": "The fleeing man's uneven lower-body movement and exposed foot"
          },
          {
            "camera_motion": "track",
            "camera_position": "At upper-thigh height, less than half a body length from the fleeing man's injured side",
            "stage_index": 2,
            "stage_label": "wound_observation",
            "transition_to_next": "Still moving with him, the camera rises from thigh height toward his upper body and advances to his front quarter.",
            "visual_focus": "The large bite mark on the fleeing man's thigh and the line of blood below it"
          },
          {
            "camera_motion": "crane",
            "camera_position": "At face height, close to the fleeing man's front three-quarter side and moving parallel with him",
            "stage_index": 3,
            "stage_label": "fear_observation",
            "transition_to_next": "The camera passes around his shoulder toward a rear three-quarter position, widening the distance enough to include the space behind him.",
            "visual_focus": "The fleeing man's frightened face and forward movement"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height, one body length behind and offset to the fleeing man's side",
            "stage_index": 4,
            "stage_label": "threat_reveal",
            "transition_to_next": "The camera continues tracking forward as the black humanoid silhouette rapidly closes the gap from behind, ending at the point of contact.",
            "visual_focus": "The fleeing man's back and the approaching black humanoid silhouette"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "At chest height, close beside the fleeing man's rear three-quarter side at the moment of impact",
            "stage_index": 5,
            "stage_label": "impact",
            "transition_to_next": "",
            "visual_focus": "The black humanoid silhouette covering the fleeing man's back as his upper body folds forward"
          }
        ],
        "flow_summary": "카메라는 도망치는 남자의 발치에서 나란히 추적을 시작해 부상당한 허벅지와 공포에 질린 얼굴까지 상승한다. 이후 남자의 뒤쪽으로 돌아가 접근하는 검은 인영을 함께 포착하고, 충돌 순간까지 거리를 좁힌다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the moving frame around the injured thigh so the bite mark and descending blood line dominate.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Use a brief impact jolt while preserving the rear three-quarter view of both bodies.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "At eye level near the alley entrance, several meters from the man and woman at the pole",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "Continue the dolly toward the pair while shifting the lens axis from their overlapping bodies to the side of the woman's neck.",
            "visual_focus": "The man and woman pressed together at the pole"
          },
          {
            "camera_motion": "static",
            "camera_position": "At the woman's neck height, within extreme close-up distance on the side facing the man's mouth",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As the woman drops, tilt the viewing axis downward, lower the camera, and dolly back along the same side of the action.",
            "visual_focus": "The man's teeth embedded in the flesh of the woman's neck"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At a low height beside the pole, retreating to a distance that contains the woman's full body on the ground",
            "stage_index": 3,
            "stage_label": "collapse_reveal",
            "transition_to_next": "",
            "visual_focus": "The woman's motionless full body beneath the pole"
          }
        ],
        "flow_summary": "카메라는 골목 입구에서 전봇대의 두 사람에게 다가가 여성의 목과 남성의 이빨까지 밀착한다. 여성이 쓰러지는 움직임을 따라 아래로 내려간 뒤 뒤로 빠지며 바닥의 움직임 없는 전신을 드러낸다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 2
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At eye level several meters outside the cordoned area, holding a wide frontal view of the mountain-trail investigation within the local news frame",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera advances across the wide view and lowers toward the investigators working near ground level.",
            "visual_focus": "The mountain-trail investigation area, the police line, and the police personnel within it"
          },
          {
            "camera_motion": "track",
            "camera_position": "At knee height inside the investigation area, moving at close-to-medium distance alongside the forensic activity",
            "stage_index": 2,
            "stage_label": "ground_examination",
            "transition_to_next": "A broadcast cut jumps from the mountain-trail investigation to the second cordoned location.",
            "visual_focus": "The forensic investigator examining traces and the nearby body-recovery activity"
          },
          {
            "camera_motion": "static",
            "camera_position": "At eye level outside the second cordoned area, several meters from the police line in a wide frontal position",
            "stage_index": 3,
            "stage_label": "second_location",
            "transition_to_next": "A broadcast cut relocates to an eye-level view facing the detective group at the active investigation site.",
            "visual_focus": "The second investigation area, its police line, and the body-recovery activity"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At eye level several meters in front of the detective group, centered on the group as the camera approaches",
            "stage_index": 4,
            "stage_label": "command_reveal",
            "transition_to_next": "The forward move continues through the group axis and tightens directly onto Hyesu.",
            "visual_focus": "Hyesu standing at the center of the detective group and directing the investigation"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At eye level directly in front of Hyesu, closing from medium distance to a tight facial distance",
            "stage_index": 5,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu's resolute face"
          }
        ],
        "flow_summary": "지역 뉴스의 넓은 수사 현장에서 시작해 감식과 시신 수거 동선을 낮게 따라간 뒤, 방송 컷으로 두 번째 현장을 연결한다. 이후 형사 무리 정면으로 접근하며 중심에 선 혜수를 드러내고 단호한 얼굴까지 밀착한다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "High above the outskirts, angled downward toward a cluster of villas at a long distance",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Continue forward and descend slightly, narrowing the frame toward the rooftop room on one villa.",
            "visual_focus": "The villas across the outskirts and the rooftop room within them"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Above and outside the selected villa, angled downward at the rooftop room from a medium-long distance",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "",
            "visual_focus": "The isolated rooftop room on top of the old villa"
          }
        ],
        "flow_summary": "인천 변두리를 내려다보는 넓은 부감에서 출발해 빌라 한 채를 향해 전진하며, 옥상 위 옥탑방의 고립된 전경으로 시선을 좁힌다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At chest height along one side of the living room, 2.5 meters from the cooking area and moving toward the television side",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera continues toward the television and rises to 민숙's eye level as her attention to the news becomes the primary focus.",
            "visual_focus": "The small window, the sink area, the pot, and 민숙 watching the television"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At eye level, 1.2 meters from 민숙, just off the axis connecting her, the switched-off television, and the approaching 수리영",
            "stage_index": 2,
            "stage_label": "concealed_reaction",
            "transition_to_next": "After settling on 민숙's guarded reaction, the camera pans away from the television and shifts toward the table with 수리영.",
            "visual_focus": "민숙 turning from the switched-off television to look toward 수리영"
          },
          {
            "camera_motion": "track",
            "camera_position": "At seated eye level beside the table, 1.5 meters from 민숙 and 수리영, moving along the conversational axis between them",
            "stage_index": 3,
            "stage_label": "table_exchange",
            "transition_to_next": "A hard cut marks the time ellipsis and relocates the camera from the table to the entrance.",
            "visual_focus": "민숙 and 수리영 during the drink and work conversation"
          },
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height beside the entrance, 0.8 meters from 민숙 and 수리영, aligned for a tight profile view of their faces",
            "stage_index": 4,
            "stage_label": "affectionate_approach",
            "transition_to_next": "The camera lowers from their faces and moves inward along 수리영's glance toward 민숙's wrist.",
            "visual_focus": "수리영 placing her face close to 민숙 before proposing dinner together"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At wrist height, 0.25 meters from 민숙's hand and forearm near the entrance",
            "stage_index": 5,
            "stage_label": "mark_reveal",
            "transition_to_next": "The camera eases back from the wrist and tilts upward to recover 수리영's face.",
            "visual_focus": "The small circular mark on 민숙's wrist"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At 수리영's eye level, 0.8 meters from her and slightly to the side of 민숙",
            "stage_index": 6,
            "stage_label": "dismissive_reaction",
            "transition_to_next": "",
            "visual_focus": "수리영 looking away from 민숙's wrist without concern"
          }
        ],
        "flow_summary": "카메라는 거실과 조리 공간을 훑으며 TV 앞의 민숙에게 접근한 뒤, 식탁 대화를 따라 이동한다. 시간 경과를 알리는 컷으로 현관에 옮겨 두 사람의 다정한 거리를 포착하고, 수리영의 시선을 따라 민숙의 손목 표식까지 내려갔다가 다시 수리영의 얼굴로 돌아온다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "The pan settles into a held close view as 민숙 looks toward 수리영.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 2
          },
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 21,
            "stage_index": 4
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 24,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Parallel to Suriyeong at hip height, several meters from the bicycle on its side",
            "stage_index": 1,
            "stage_label": "establishing_track",
            "transition_to_next": "Continue the parallel track while rising to eye level and moving closer to Suriyeong's upper body.",
            "visual_focus": "Suriyeong riding the bicycle along the coastal road"
          },
          {
            "camera_motion": "track",
            "camera_position": "Alongside Suriyeong at eye level, at a medium-close distance from her side profile",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Maintain forward speed and shift slightly ahead into a close front three-quarter position as her attention turns toward the barking.",
            "visual_focus": "Suriyeong's lively face and earphones as she rides"
          },
          {
            "camera_motion": "track",
            "camera_position": "Slightly ahead of Suriyeong at eye level, close to her front three-quarter side",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's face as her gaze inclines toward the direction of the barking"
          }
        ],
        "flow_summary": "카메라는 자전거 옆에서 수리영과 나란히 달리며 전신 거리에서 얼굴 가까이 접근한다. 개 짖는 소리가 들리면 수리영보다 살짝 앞선 위치로 이동해 시선이 기우는 반응을 포착한다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At Suriyoung's eye level, close in front of her and aligned with her gaze toward the Rottweiler",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "Dolly backward and shift laterally to clear the confrontation axis, arriving beside the Rottweiler at a medium distance.",
            "visual_focus": "Suriyoung's rigid face and her direct gaze toward the Rottweiler"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At chest height, one to two meters beside the Rottweiler, with Suriyoung and the doctor within the same lateral viewing axis",
            "stage_index": 2,
            "stage_label": "release",
            "transition_to_next": "Track away from the Rottweiler with Suriyoung's changing line of sight until the row of enclosures comes into view beside her.",
            "visual_focus": "The subdued Rottweiler, the doctor's injection action, and the exchange between the doctor and Suriyoung"
          },
          {
            "camera_motion": "track",
            "camera_position": "At Suriyoung's eye level, two to three meters to her side and perpendicular to her line of sight toward the enclosures",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "Arc from Suriyoung's side toward her front while moving closer and lowering slightly as she checks the phone.",
            "visual_focus": "Suriyoung's profile against the dogs gathered inside the enclosures"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close in front of Suriyoung, slightly above the phone and below her eye line, angled to include both the screen and her face",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "Pull back as Suriyoung lowers the phone, then pivot and track in the direction of her run toward the waiting dog.",
            "visual_focus": "The unanswered call screen and Suriyoung's fixed expression as she looks down"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height, one to two meters beside and slightly behind Suriyoung as she moves toward the dog",
            "stage_index": 5,
            "stage_label": "transition",
            "transition_to_next": "Cut from her forward movement to a close position beside her hands at dog-body height.",
            "visual_focus": "Suriyoung responding to the helper and running toward the dog"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Close beside Suriyoung's hands at dog-body height, facing across the grooming action",
            "stage_index": 6,
            "stage_label": "grooming",
            "transition_to_next": "Match cut to a tighter position above the next area of the dog's body.",
            "visual_focus": "Suriyoung guiding the clipper through the dog's hair"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Close above the dog's body and beside Suriyoung's working hand, angled downward at short range",
            "stage_index": 7,
            "stage_label": "treatment",
            "transition_to_next": "Cut to a wider high-side position beside the bathing area, preserving the direction of Suriyoung's hands.",
            "visual_focus": "Suriyoung applying ointment to the dog"
          },
          {
            "camera_motion": "cut",
            "camera_position": "At shoulder height beside the bathing area, angled downward to include Suriyoung's arms and the dog at close range",
            "stage_index": 8,
            "stage_label": "completion",
            "transition_to_next": "",
            "visual_focus": "Suriyoung supporting the dog with both hands during the bath"
          }
        ],
        "flow_summary": "카메라는 수리영과 로트와일러의 대치 축에서 시작해 옆으로 빠지며 의사의 처치와 대화를 담고, 수리영의 시선을 따라 우리 앞 옆모습과 응답 없는 휴대전화로 접근한다. 이후 수리영의 달리기를 추적한 뒤, 털 깎기·연고 바르기·목욕을 방향이 이어지는 작업 클로즈업으로 연결한다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "수리영의 굳은 표정과 정면 응시가 강조되도록 얼굴 크기를 조금 더 타이트하게 조정한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 1
          },
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 3
          },
          {
            "deviation_note": "통화 화면을 전경에 두되 수리영의 굳은 표정이 함께 읽히도록 초점을 조정한다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At chest height, several meters ahead of Suriyeong, moving backward along her route toward the store entrance",
            "stage_index": 1,
            "stage_label": "street_approach",
            "transition_to_next": "The camera yields toward the entrance as Suriyeong stops, then follows her across the threshold.",
            "visual_focus": "Suriyeong riding through the busy street and arriving at the store"
          },
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height, one to two meters behind and slightly beside Suriyeong as she moves between the display aisles",
            "stage_index": 2,
            "stage_label": "interior_search",
            "transition_to_next": "The camera arcs around Suriyeong as she stops before the female employee, settling near the employee's side of the conversation.",
            "visual_focus": "Suriyeong searching the display areas for Minsook and approaching the female employee"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Suriyeong's eye level, just beyond the female employee's shoulder, closing from a medium distance to a tight conversational distance",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "A short lateral move opens the neighboring aisle and hands the sightline to the approaching male employee.",
            "visual_focus": "Suriyeong processing the news that Minsook left work early to meet her"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye level beside Suriyeong and the female employee, sliding laterally until the male employee is seen from a close frontal angle",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "The camera pans back toward Suriyeong, then begins following her turn away from the employees.",
            "visual_focus": "The male employee stating that he saw Minsook speaking with an unidentified person"
          },
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height, one to two meters in front of Suriyeong, moving backward from the display aisle through the store exit",
            "stage_index": 5,
            "stage_label": "departure",
            "transition_to_next": "Once outside, the camera shifts closer along Suriyeong's phone side while maintaining her direction of movement.",
            "visual_focus": "Suriyeong leaving the store and attempting to contact Minsook"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Outside at Suriyeong's eye level, close on the side facing her phone, advancing from a medium close distance to a facial close-up",
            "stage_index": 6,
            "stage_label": "anxious_resolution",
            "transition_to_next": "",
            "visual_focus": "Suriyeong looking from the unanswered call screen toward the direction of home"
          }
        ],
        "flow_summary": "카메라는 번화가에서 자전거를 탄 수리영을 따라 마트 안으로 진입한 뒤, 진열 구역의 탐색과 직원들의 대화를 따라 점차 얼굴 가까이 접근한다. 민숙이 낯선 누군가와 대화했다는 말을 들은 뒤에는 수리영을 다시 마트 밖까지 추적하고, 응답 없는 통화 앞에서 불안해진 표정으로 이동을 마무리한다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 3
          },
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 4
          },
          {
            "deviation_note": "Hold the final position on Suriyeong's face after briefly retaining the unanswered call screen near her eyeline.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low beside the bicycle, near pedal height and at close distance, moving parallel to its direction of travel",
            "stage_index": 1,
            "stage_label": "driving_motion",
            "transition_to_next": "While matching the bicycle's speed, the camera rises and advances along its side toward the rider's head.",
            "visual_focus": "수리영's legs driving the pedals"
          },
          {
            "camera_motion": "track",
            "camera_position": "At head height, slightly ahead of the bicycle in a front three-quarter position and at close facial distance",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera continues matching speed, then lowers and shifts inward from the rider's face toward the handlebar.",
            "visual_focus": "수리영's urgent face and forward-fixed gaze"
          },
          {
            "camera_motion": "track",
            "camera_position": "At handlebar height, close to the front side of the bicycle and moving parallel with it",
            "stage_index": 3,
            "stage_label": "tension_detail",
            "transition_to_next": "",
            "visual_focus": "수리영's hands gripping the handlebar"
          }
        ],
        "flow_summary": "카메라는 자전거와 속도를 맞추며 페달 높이에서 출발해 수리영의 얼굴까지 상승한 뒤, 다시 손잡이 높이로 내려간다. 이 연속 추적 이동으로 다급한 주행의 동작과 표정을 하나의 흐름으로 연결한다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "About 3 meters above rooftop level and 8 meters from the rooftop room, angled downward in a wide view",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Crane downward and forward, settling near ground level beside the platform before continuing toward the approaching stranger.",
            "visual_focus": "The rooftop room, water tank, clothesline, and platform within the rooftop space"
          },
          {
            "camera_motion": "track",
            "camera_position": "About 25 centimeters above rooftop level, moving from beside the platform toward the entrance along the stranger's path",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Continue tracking until the stranger stops, then align with the entrance gap and push toward the latch.",
            "visual_focus": "The dried leaves crossing the stranger's shoes, his elongated shadow, and his feet approaching the entrance"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At latch height directly outside the entrance, moving from 60 centimeters away to an extreme close distance",
            "stage_index": 3,
            "stage_label": "lock_observation",
            "transition_to_next": "After the latch releases, reverse directly away from the entrance while maintaining the same viewing axis.",
            "visual_focus": "The leaflet pressed into the entrance gap and the latch releasing"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Outside the entrance at latch height, retreating to about 1.5 meters from the opening",
            "stage_index": 4,
            "stage_label": "threshold_reveal",
            "transition_to_next": "Track laterally along the exterior from the entrance toward the adjacent window as the stranger moves inside.",
            "visual_focus": "The entrance opening slightly and the stranger crossing the threshold"
          },
          {
            "camera_motion": "track",
            "camera_position": "Outside the rooftop room at shoulder height, moving laterally from the entrance side to a position facing the window",
            "stage_index": 5,
            "stage_label": "reflection_reveal",
            "transition_to_next": "Once the reflected struggle is centered, push straight toward the window reflection for the bite detail.",
            "visual_focus": "The window reflection containing the stranger's shape attacking Minsuk"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly facing the window at Minsuk's shoulder height, moving from a medium distance to an extreme close distance",
            "stage_index": 6,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "The stranger's teeth at Minsuk's shoulder within the window reflection"
          }
        ],
        "flow_summary": "카메라는 옥상 전경에서 내려와 낯선 남자의 이동 경로를 낮게 따라간 뒤, 현관 걸쇠로 밀착한다. 문이 열리면 다시 물러나 창문 쪽으로 이동하고, 반사면 속 습격을 발견해 민숙의 어깨를 문 이빨까지 파고든다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 3
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 13,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At knee height beside Suri-young, one meter lateral to the bicycle as she moves along the alley",
            "stage_index": 1,
            "stage_label": "arrival",
            "transition_to_next": "The camera continues toward the building entrance, then passes through behind Suri-young.",
            "visual_focus": "Suri-young pedaling toward the building entrance"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height behind Suri-young, moving from the building entrance into the courtyard at a distance of about two meters",
            "stage_index": 2,
            "stage_label": "entry",
            "transition_to_next": "The camera follows her turn from the bicycle toward the base of the stairs and lowers toward the first steps.",
            "visual_focus": "Suri-young entering, leaving the bicycle, and moving toward the stairs"
          },
          {
            "camera_motion": "crane",
            "camera_position": "Beside the stairs at foot-to-waist height, rising parallel to Suri-young from the lower steps toward the upper section",
            "stage_index": 3,
            "stage_label": "ascent",
            "transition_to_next": "The rising camera moves ahead of Suri-young near the top of the stairs and turns back toward her face.",
            "visual_focus": "Suri-young's rapid upward movement along the stairs"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At face height on the upper landing, about one meter in front of Suri-young and angled slightly downward toward her as she reaches the top steps",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "The camera retreats onto the rooftop as Suri-young advances, then arcs behind her shoulder to align with her sightline.",
            "visual_focus": "Suri-young's face tightening as she reacts to the sudden smell"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye height just behind and slightly to the side of Suri-young on the rooftop, aligned over her shoulder toward the rooftop room entrance",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The half-open iron entrance door ahead of Suri-young"
          }
        ],
        "flow_summary": "카메라는 골목에서 수리영의 이동을 따라 건물 안과 계단으로 진입한 뒤, 계단 상부에서 그녀의 표정을 정면으로 포착한다. 이어 수리영의 어깨 뒤로 돌아 시선을 따라가며 옥탑방의 반쯤 열린 현관 철문을 드러낸다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "Tighten slightly on her face while retaining the upper stair position.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 4
          },
          {
            "deviation_note": "Shift the framing forward from Suri-young's shoulder so the half-open door dominates her field of view.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At eye level, approximately 1.5 meters behind 수리영, moving from the entrance through the living area and toward the bedroom doorway",
            "stage_index": 1,
            "stage_label": "searching_approach",
            "transition_to_next": "The camera follows 수리영 through the doorway without a cut, then shifts toward her shoulder line as she advances toward the curtain.",
            "visual_focus": "수리영 searching the rooms and moving toward the final bedroom"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At chest height, slightly behind 수리영's shoulder and approximately 2.5 meters from the curtain, advancing along her line of sight",
            "stage_index": 2,
            "stage_label": "corpse_reveal",
            "transition_to_next": "After the curtain opens and the camera settles on 강민숙's full body, it continues forward and lowers as 수리영 approaches her.",
            "visual_focus": "강민숙's motionless full body seated behind the opened curtain"
          },
          {
            "camera_motion": "track",
            "camera_position": "Below waist height and within 1 meter of 강민숙, moving around the side of 수리영 as she lowers herself beside the body",
            "stage_index": 3,
            "stage_label": "body_approach",
            "transition_to_next": "The objective track ends beside 수리영, followed by a cut into her downward subjective eyeline toward 강민숙's wrist.",
            "visual_focus": "수리영 beside 강민숙, narrowing attention from the body toward the hand and wrist"
          },
          {
            "camera_motion": "static",
            "camera_position": "At 수리영's eye position, angled sharply downward at close range toward 강민숙's wrist",
            "stage_index": 4,
            "stage_label": "subjective_close_observation",
            "transition_to_next": "From the same subjective eye point, the camera tilts upward from the wrist toward the wall above the bed.",
            "visual_focus": "강민숙's wrist tattoo appearing red in 수리영's subjective view"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At 수리영's eye position beside 강민숙, pivoting upward from the body toward the wall above the bed",
            "stage_index": 5,
            "stage_label": "supernatural_reveal",
            "transition_to_next": "",
            "visual_focus": "the red circle filling the wall above the bed in 수리영's subjective view"
          }
        ],
        "flow_summary": "카메라는 수리영을 따라 거실과 방을 통과한 뒤 커튼 앞까지 전진해 민숙의 전신을 드러낸다. 이후 시신 가까이 낮아져 수리영의 주관적 시점으로 전환하고, 손목 문신에서 침대 위 벽의 붉은 원까지 연속해서 시선을 들어 올린다.",
        "scene_index": 12,
        "shot_assignments": [
          {
            "deviation_note": "The forward movement settles briefly to hold 강민숙's entire seated body within the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 22,
            "stage_index": 2
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 39,
            "stage_index": 4
          },
          {
            "deviation_note": "The upward tilt comes to a stop once the completed red circle fills the subjective view.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 42,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_out",
            "camera_position": "At face height immediately outside the rooftop room doorway, beginning within close range and withdrawing toward the top of the exterior stairs",
            "stage_index": 1,
            "stage_label": "eruption",
            "transition_to_next": "The withdrawal continues past the doorway and turns toward the stairs, allowing the camera to descend along Suriyeong's path.",
            "visual_focus": "Suriyeong emerging from the doorway in panic"
          },
          {
            "camera_motion": "crane",
            "camera_position": "Beside and slightly outside the exterior stairs, descending from upper-body height near the top landing to eye height near the stair base",
            "stage_index": 2,
            "stage_label": "descent",
            "transition_to_next": "The camera completes its descent at the stair base, moves backward into the area in front of the building, and settles facing Suriyeong.",
            "visual_focus": "Suriyeong rushing down the stairs"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At eye height several meters in front of the building, with Suriyeong centered near the stair base",
            "stage_index": 3,
            "stage_label": "disorientation",
            "transition_to_next": "The camera pans toward Hyesu's arrival, then tracks with her as she closes the distance to Suriyeong.",
            "visual_focus": "Suriyeong standing motionless and unfocused, followed by Hyesu noticing her"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye height within conversational distance of Suriyeong and Hyesu, shifting laterally from Suriyeong's side of the exchange toward a frontal angle on Hyesu",
            "stage_index": 4,
            "stage_label": "confrontation",
            "transition_to_next": "After settling on Hyesu's reaction, the camera backs toward the stair base and turns upward as Hyesu and the junior detective move past it.",
            "visual_focus": "The exchange between Suriyeong and Hyesu, ending on Hyesu's shocked reaction"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind and below Hyesu and the junior detective at the stair base, rising along the exterior stairs while maintaining a trailing angle",
            "stage_index": 5,
            "stage_label": "urgent_ascent",
            "transition_to_next": "",
            "visual_focus": "Hyesu and the junior detective running up toward the rooftop room"
          }
        ],
        "flow_summary": "카메라는 옥탑방 문 앞의 수리영에게서 시작해 그녀의 계단 하강을 따라 지상으로 내려온 뒤, 멍하니 선 수리영과 다가오는 혜수의 대면을 포착한다. 혜수의 충격에 근접한 후 계단 쪽으로 물러나 두 형사의 다급한 상승을 뒤따른다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "Begin in a tighter facial proximity before the stage withdrawal becomes visible.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Hold the pan briefly so Suriyeong remains isolated at the center before revealing Hyesu's arrival.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          },
          {
            "deviation_note": "Complete the lateral shift in a tighter facial framing on Hyesu and pause before backing toward the stairs.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 13,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At eye level just inside the entrance, several meters from the room doorway, moving along the shared interior path",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks behind 수리영 as she passes through the room doorway, then settles inside the room.",
            "visual_focus": "김형사 and 혜수 finishing their search, then 수리영 rushing toward her room"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At eye level inside the room, beginning near the doorway and advancing to a medium distance from 수리영",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As 수리영 turns and runs out, the camera pivots with her and tracks back through the doorway toward the dining table.",
            "visual_focus": "수리영 scanning the clean room and registering that every expected trace is gone"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist-to-eye level beside the path from the room to the dining table, maintaining a medium distance from 수리영",
            "stage_index": 3,
            "stage_label": "evidence_search",
            "transition_to_next": "The camera continues laterally from the table toward 김형사, reducing the distance as he begins to confront 수리영.",
            "visual_focus": "수리영 reaching the clean dining table and indicating where the cups had been"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At eye level in front of 김형사, moving from a medium distance to a close conversational distance with 수리영 held near his eyeline",
            "stage_index": 4,
            "stage_label": "confrontation",
            "transition_to_next": "The camera eases sideways past 김형사 as 혜수 dismisses him, then settles near 혜수 and 수리영.",
            "visual_focus": "김형사의 sharp expression as he reprimands 수리영"
          },
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height beside 혜수 and 수리영 in the shared interior, at a close two-person distance",
            "stage_index": 5,
            "stage_label": "reassurance",
            "transition_to_next": "After holding on 혜수 and 수리영, the sequence cuts back into 수리영's room to a lower, closer viewpoint.",
            "visual_focus": "혜수 comforting 수리영 while 수리영 remains uncertain about what she saw"
          },
          {
            "camera_motion": "static",
            "camera_position": "Below waist height inside 수리영's room, close to the doll and angled toward its current position",
            "stage_index": 6,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The doll sitting slightly out of alignment with its previous position"
          }
        ],
        "flow_summary": "카메라는 현관에서 시작해 수리영을 따라 방 안과 식탁으로 이동한 뒤, 김형사의 질책과 혜수의 위로를 가까이서 관찰한다. 마지막에는 수리영의 방으로 논리적 컷해 위치가 미묘하게 달라진 인형을 드러낸다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "Tighten slightly at the end of the move to prioritize 수리영's pale face while retaining enough of the clean room to support her reaction.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 2
          },
          {
            "deviation_note": "Complete the dolly-in on a tighter facial framing at the most pointed moment of the reprimand.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 18,
            "stage_index": 4
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 28,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At standing eye level on the road side of the bus stop area, at a long distance from the seated 수리영 and 혜수",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Dolly forward toward 수리영, lowering the viewing axis from the two figures to her phone hand.",
            "visual_focus": "수리영 seated facing the sea, with 혜수 nearby"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close to 수리영 at seated torso height, angled downward toward the hand holding the phone",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Tilt upward along 수리영's arm from the phone to her face while maintaining the same side of the interaction.",
            "visual_focus": "수리영's hand and the unanswered call screen"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Close to 수리영 at seated chest height, facing her from a slight front-side angle",
            "stage_index": 3,
            "stage_label": "emotional_observation",
            "transition_to_next": "Dolly back and rise with 수리영 as she stands, widening enough to retain 혜수 in the shared space.",
            "visual_focus": "수리영's restrained expression as she denies the possibility of her mother's accident"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "In front of and slightly to the side of 수리영 and 혜수, moving from close distance to a medium shared distance as 수리영 stands",
            "stage_index": 4,
            "stage_label": "decision_and_departure",
            "transition_to_next": "Track around the pair as 수리영 passes, arriving behind 혜수 and aligning the view with 수리영's direction of travel.",
            "visual_focus": "수리영 rising, turning away from 혜수, and beginning to leave"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Behind and slightly to one side of 혜수 at standing eye level, with 수리영 ahead on the coastal road and increasing in distance",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "수리영's back as she runs away and 혜수 watching in the same direction"
          }
        ],
        "flow_summary": "카메라는 버스정류장 부근의 관찰자 거리에서 수리영에게 접근해 응답 없는 통화 화면과 애써 침착한 얼굴을 차례로 살핀다. 수리영이 일어나 달려가면 카메라는 두 사람의 측면을 돌아 혜수 뒤로 물러나며, 멀어지는 수리영과 남겨진 혜수를 함께 지켜본다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold a medium-long framing before the continued withdrawal makes 수리영 smaller in the frame.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 16,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At hand height just inside the office entrance, within close viewing distance of Hye-su's phone and moving beside her",
            "stage_index": 1,
            "stage_label": "unanswered_call",
            "transition_to_next": "The camera rises to chest height and continues forward beside Hye-su as she approaches the duty desk.",
            "visual_focus": "The unanswered call display for Min-suk on Hye-su's phone"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height beside and slightly behind Hye-su, moving from the entrance toward the duty desk at a medium distance",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera tracks around the near end of the desk to face Hye-su from Detective Kim's side of the exchange.",
            "visual_focus": "Hye-su approaching Detective Kim at the duty desk"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Hye-su's eye level on the opposite side of the duty desk, advancing from medium distance to close distance",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera dollies back and shifts laterally toward the end of the desk, widening until both figures share the frame.",
            "visual_focus": "Hye-su's resolute face as she insists that Min-suk would not break a promise to her daughter"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At eye level near one end of the duty desk, withdrawing to a medium-wide distance with Hye-su and Detective Kim on opposite sides",
            "stage_index": 4,
            "stage_label": "confrontation",
            "transition_to_next": "",
            "visual_focus": "Hye-su and Detective Kim holding a tense confrontation across the duty desk"
          }
        ],
        "flow_summary": "카메라는 사무실로 들어오는 혜수의 휴대전화 화면에서 시작해 그녀와 함께 당직 책상으로 이동한다. 이후 책상 너머 혜수의 단호한 얼굴까지 밀착했다가 뒤로 빠지며 혜수와 김형사의 팽팽한 대치 구도를 완성한다.",
        "scene_index": 16,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 1
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 3
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 15,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At rooftop level, approximately 12 meters from the rooftop room, with a wide view across its exterior",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Crane downward and advance toward the black cat near the rooftop boundary, narrowing from the room-wide view to the cat's height.",
            "visual_focus": "The exterior of the illuminated rooftop room at dawn"
          },
          {
            "camera_motion": "crane",
            "camera_position": "Descending to approximately 0.4 meters above the rooftop and stopping about 1.5 meters beside the black cat, with the rooftop room above its eyeline",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Track laterally with the black cat as it moves toward the wall, maintaining the same low camera height.",
            "visual_focus": "The black cat in profile looking up at the rooftop room"
          },
          {
            "camera_motion": "track",
            "camera_position": "At approximately 0.4 meters above the rooftop, moving parallel to the wall and remaining 1 to 2 meters from the black cat",
            "stage_index": 3,
            "stage_label": "departure",
            "transition_to_next": "",
            "visual_focus": "The black cat approaching, climbing, and passing over the wall"
          }
        ],
        "flow_summary": "옥탑방 외곽을 넓게 바라본 뒤 카메라가 옥상 높이 아래로 내려가 검은 고양이의 옆모습에 접근한다. 이후 고양이와 나란히 담 쪽으로 이동하며 담을 넘는 동선을 이어간다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At seated eye height, beginning about 2.5 meters in front of Suriyeong beside the bed and ending behind her at the closed door",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Cut from Suriyeong's eyeline at the closed door to the remembered space behind the curtain.",
            "visual_focus": "Suriyeong awakening, searching the home, and fixing her attention on the closed door"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At low chest height, about 1.2 meters in front of the space behind the curtain, angled slightly downward",
            "stage_index": 2,
            "stage_label": "flashback_reveal",
            "transition_to_next": "Cut back to Suriyeong's present-time eyeline at the closed door.",
            "visual_focus": "Minsook's seated body behind the curtain, followed by her injuries and the blood below"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At chest height just inside the opened doorway, moving from about 3 meters away to within 1 meter of the window",
            "stage_index": 3,
            "stage_label": "approach",
            "transition_to_next": "Pan away from the empty space behind the opened curtain and begin tracking Suriyeong toward the phone.",
            "visual_focus": "The orderly room, Suriyeong approaching the curtain, and the empty space revealed behind it"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height, maintaining a lateral distance of about 1.5 meters from Suriyeong as she moves between the window, phone, and backpack",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "Cut on Suriyeong's departure to her eye position facing the bathroom mirror.",
            "visual_focus": "Suriyeong answering the phone, reacting to Hyeseo's words, and taking the backpack"
          },
          {
            "camera_motion": "static",
            "camera_position": "At Suriyeong's eye height and eye position, about 1 meter from the bathroom mirror",
            "stage_index": 5,
            "stage_label": "subjective_reveal",
            "transition_to_next": "Pan with Suriyeong's sudden head turn from the mirror toward the actual bathroom wall, shifting from her eye position to just behind her shoulder.",
            "visual_focus": "The reflected bathroom wall and the red circle appearing on it"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At eye height just behind Suriyeong's shoulder, about 1.5 meters from the bathroom wall",
            "stage_index": 6,
            "stage_label": "verification",
            "transition_to_next": "Track backward through the bathroom exit while keeping Suriyeong centered as she rushes into the living room.",
            "visual_focus": "The actual bathroom wall where the red circle is absent and Suriyeong's response to the empty surface"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height, moving backward 1.5 to 2 meters ahead of Suriyeong from the bathroom exit to the living-room table",
            "stage_index": 7,
            "stage_label": "escape",
            "transition_to_next": "Move around the table edge, lower to Suriyeong's viewing angle, and push toward the photograph.",
            "visual_focus": "Suriyeong rushing into the living room, drinking water, and turning her attention to the photograph"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Suriyeong's eye position above the table, angled downward and moving from about 1 meter to a close viewing distance from the photograph",
            "stage_index": 8,
            "stage_label": "subjective_distortion",
            "transition_to_next": "",
            "visual_focus": "The photograph as Minsook's face distorts and runs downward while Suriyeong's face remains intact"
          }
        ],
        "flow_summary": "카메라는 잠에서 깬 수리영을 따라 닫힌 방문까지 이동한 뒤 회상으로 단절되었다가, 현재의 방과 욕실을 거쳐 거실 식탁까지 수리영의 불안한 동선을 추적한다. 두 차례의 환영에서는 수리영의 눈 위치로 진입해 거울과 사진의 왜곡을 직접 바라본다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 2
          },
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 38,
            "stage_index": 5
          },
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 48,
            "stage_index": 8
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At eye level outside the store, several meters behind Suriyoung, aligned with her path from the bicycle parking area toward the entrance",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Track behind Suriyoung through the entrance, then curve alongside her as she begins searching the aisles.",
            "visual_focus": "Suriyoung entering the store and beginning her search"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye level inside the store, moving beside Suriyoung through the aisles before settling several meters from her and the male employee",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Advance from the two-person distance toward Suriyoung's side of the conversation, ending near her eyeline as the male employee mentions a man.",
            "visual_focus": "Suriyoung locating and questioning the male employee"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Suriyoung's eye level, moving from a medium conversational distance to within one meter of her face from the male employee's side",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "Dolly back as the CCTV question redirects both people toward the entrance, then track with them continuously to the exterior camera position.",
            "visual_focus": "Suriyoung's widening eyes as she reacts to the new clue about a man"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Outside the store at chest height, several meters from the entrance and offset from the wall-mounted CCTV position",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "Tilt down from the CCTV position toward Suriyoung, then move closer as she raises her phone to make the call.",
            "visual_focus": "The CCTV camera and the entrance area within its implied field of view"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Outside the store at Suriyoung's eye level, moving from a medium distance to a tight frontal distance as she speaks on the phone",
            "stage_index": 5,
            "stage_label": "urgent_explanation",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's urgent face while she explains the CCTV clue to Hyesu"
          }
        ],
        "flow_summary": "카메라는 수리영을 따라 마트 밖에서 내부 통로로 진입한 뒤, 남자 직원과의 대화 중 새 단서에 반응하는 얼굴까지 접근한다. 이후 두 사람을 따라 다시 밖으로 나가 CCTV의 촬영 범위를 확인하고, 혜수에게 전화하는 수리영의 다급한 얼굴로 좁혀 든다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 3
          },
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 16,
            "stage_index": 4
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 22,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At standing eye level behind and slightly to one side of Su-ri-young, at a medium-wide distance from the workstation",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera dollies forward between Su-ri-young and the seated pair, lowering its viewing axis toward the CCTV monitor.",
            "visual_focus": "The security employee and Hyesu seated at the CCTV monitor, with Su-ri-young standing behind them"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly in front of the CCTV monitor at seated eye level, moving from medium distance to a tight viewing distance",
            "stage_index": 2,
            "stage_label": "screen_observation",
            "transition_to_next": "The camera eases away from the monitor axis and begins tracking laterally along the workstation toward the viewers.",
            "visual_focus": "The CCTV section whose image is too dark to identify the people"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside the workstation at seated eye level, moving laterally from the monitor toward Hyesu while keeping Su-ri-young visible at a deeper distance",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "The lateral move continues into a shallow arc around Hyesu and settles at close three-quarter frontal distance.",
            "visual_focus": "Hyesu assessing the unusable image and Su-ri-young watching anxiously behind her"
          },
          {
            "camera_motion": "static",
            "camera_position": "At Hyesu's seated eye level, at close distance and a three-quarter frontal angle",
            "stage_index": 4,
            "stage_label": "decision",
            "transition_to_next": "The camera holds its position and pans across the seated eyeline from Hyesu toward the security employee.",
            "visual_focus": "Hyesu's firm face as she requests the complete CCTV footage"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At seated eye level between Hyesu and the security employee, at a close-medium distance from both",
            "stage_index": 5,
            "stage_label": "response",
            "transition_to_next": "",
            "visual_focus": "The security employee acknowledging Hyesu's request, with the CCTV monitor remaining adjacent to their eyeline"
          }
        ],
        "flow_summary": "카메라는 수리영 뒤의 넓은 관찰 위치에서 시작해 CCTV 모니터의 식별 불가능한 구간까지 전진한 뒤, 작업대 옆을 따라 혜수와 수리영의 반응으로 이동한다. 이어 혜수의 단호한 요청에 가까이 정착하고, 보안팀 직원의 수긍으로 시선을 넘긴다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "The move finishes in an extreme close view that excludes the surrounding viewers.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 2
          },
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 13,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At eye level across from the police station entrance, at a long distance from the building",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Cut across the entrance line to an eye-level position just inside the office.",
            "visual_focus": "The police station exterior and its main entrance"
          },
          {
            "camera_motion": "track",
            "camera_position": "Just inside the office entrance at eye level, several feet ahead of Hyesu and Suri-young as they move inward",
            "stage_index": 2,
            "stage_label": "arrival",
            "transition_to_next": "Continue tracking backward with Hyesu and Suri-young, then settle opposite Detective Kim's desk.",
            "visual_focus": "Hyesu and Suri-young entering the office and approaching Detective Kim"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At seated eye level opposite Detective Kim's desk, at medium conversational distance from Hyesu and Detective Kim",
            "stage_index": 3,
            "stage_label": "desk_exchange",
            "transition_to_next": "Pan with Hyesu's gesture toward her desk, then track laterally as the detectives leave and Suri-young remains behind.",
            "visual_focus": "Detective Kim, Hyesu, the documents, and the detectives moving toward the meeting"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Beside Hyesu's desk at Suri-young's seated eye level, beginning at medium distance and advancing toward her and the photographs",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "Cut from the photographed wounds to the matching area on Min-sook's body in Suri-young's memory.",
            "visual_focus": "Suri-young examining the enlarged murder-case photographs"
          },
          {
            "camera_motion": "cut",
            "camera_position": "At shoulder height close to Min-sook's upper body, angled toward her neck, shoulder, and lowered head",
            "stage_index": 5,
            "stage_label": "memory_flash",
            "transition_to_next": "Cut back on the visual match to a face-height close position in front of Suri-young.",
            "visual_focus": "Min-sook's body and the wounds recalled by Suri-young"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At Suri-young's face height within close distance, slightly to one side of her seated position",
            "stage_index": 6,
            "stage_label": "recognition_reaction",
            "transition_to_next": "Pan along Suri-young's redirected gaze toward Detective Kim's monitor, then cut closer to the display.",
            "visual_focus": "Suri-young's face as she recognizes the similarity, followed by her attention shifting toward the monitor alert"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly in front of Detective Kim's monitor at display height, advancing from close distance to an extreme close view",
            "stage_index": 7,
            "stage_label": "location_reveal",
            "transition_to_next": "Tilt down from the displayed coordinates toward the desk, then cut to waist height beside Suri-young's hands.",
            "visual_focus": "Min-sook's phone-location result, the sea map, and the displayed coordinates"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height beside the desk, close to Suri-young's hands and backpack, then backing toward the office entrance as she leaves",
            "stage_index": 8,
            "stage_label": "conceal_and_exit",
            "transition_to_next": "",
            "visual_focus": "Suri-young writing and folding the coordinates, placing the note into her backpack, checking the office, and leaving"
          }
        ],
        "flow_summary": "카메라는 경찰서 전경에서 사무실 안으로 진입해 인물들의 이동을 따라가다가, 모두가 빠져나간 뒤 수리영과 피해 사진 쪽으로 점차 밀착한다. 회상의 상처와 현재의 표정을 컷으로 연결한 후 모니터 좌표로 이동하고, 메모를 숨기는 손을 따라 출입구까지 물러난다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "Hold on Suri-young's pale face before beginning the pan toward the monitor alert.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 29,
            "stage_index": 6
          },
          {
            "deviation_note": "Tighten the final part of the dolly to isolate 37.484400 N and 126.072486 E on the sea map.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 37,
            "stage_index": 7
          },
          {
            "deviation_note": "Briefly stabilize at backpack-pocket height as the folded coordinate note disappears inside.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 44,
            "stage_index": 8
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Beside the stationary bicycle at handlebar height, at close distance from Su-ri-young",
            "stage_index": 1,
            "stage_label": "initiation",
            "transition_to_next": "The camera moves laterally with the bicycle as it starts forward, lowering toward pedal height.",
            "visual_focus": "Su-ri-young taking control of the bicycle and beginning to ride"
          },
          {
            "camera_motion": "track",
            "camera_position": "Alongside the moving bicycle at pedal height, at close distance and parallel to its direction of travel",
            "stage_index": 2,
            "stage_label": "acceleration",
            "transition_to_next": "While matching the bicycle's speed, the camera advances toward the front quarter and rises continuously to face height.",
            "visual_focus": "Su-ri-young's forceful pedaling as the bicycle accelerates"
          },
          {
            "camera_motion": "track",
            "camera_position": "At face height near the front quarter of the moving bicycle, at close distance and angled back toward Su-ri-young",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Su-ri-young's urgent face and gaze fixed on the direction of travel"
          }
        ],
        "flow_summary": "카메라는 자전거 옆에서 수리영의 출발을 따라붙은 뒤, 낮은 높이에서 가속을 추적하며 전방 사선으로 이동한다. 마지막에는 얼굴 높이까지 올라 수리영의 다급한 표정과 진행 방향을 향한 시선을 밀착해 포착한다.",
        "scene_index": 22,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Behind and slightly above the seated person at medium distance, aligned toward the monitor and workstation",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Continue forward and lower slightly until the monitor fills the frame from a near-frontal angle.",
            "visual_focus": "The seated person working between the coordinate note, keyboard, and monitor"
          },
          {
            "camera_motion": "static",
            "camera_position": "Directly in front of the monitor at close distance, centered at screen height",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Track laterally away from the monitor and continue toward the printer, preserving the direction of the workflow.",
            "visual_focus": "The map screen showing the coast, sea, and marked target point"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside the printer at close distance and near output-slot height",
            "stage_index": 3,
            "stage_label": "print_transfer",
            "transition_to_next": "Follow the printed pages away from the printer, then rise and angle downward as they are gathered together.",
            "visual_focus": "The printed maps as they emerge and accumulate"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Above the gathered pages at close distance, angled downward over the hands and the open backpack",
            "stage_index": 4,
            "stage_label": "map_preparation",
            "transition_to_next": "",
            "visual_focus": "The multiple printed maps showing the coastal approach route, followed by the hands folding and placing them into the backpack"
          }
        ],
        "flow_summary": "카메라는 좌석 뒤에서 모니터로 전진해 목표 지점이 표시된 지도 화면을 확인한 뒤, 작업 흐름을 따라 프린터 쪽으로 이동한다. 이어 출력된 지도들을 따라 위쪽 시점으로 옮겨 접근 경로와 지도를 접어 백팩에 넣는 과정까지 연결한다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 2
          },
          {
            "deviation_note": "Settle into a tighter downward framing that keeps several printed maps and their coastal approach routes visible together.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "High above and far from the coastline, at a wide establishing distance with the coast and the adjacent road held within the frame",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera cranes downward and advances toward the road, narrowing its view until it can join Suri-young's direction of travel.",
            "visual_focus": "The coastline and road beneath the dense storm clouds and heavy rain"
          },
          {
            "camera_motion": "track",
            "camera_position": "At road level several meters beside and slightly behind Suri-young, moving parallel to the bicycle",
            "stage_index": 2,
            "stage_label": "pursuit",
            "transition_to_next": "While maintaining forward speed, the camera tracks ahead of the bicycle and arcs inward toward Suri-young's front quarter.",
            "visual_focus": "Suri-young riding the bicycle through the heavy rain"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Ahead of Suri-young at face height and within close-up distance, moving backward along the bicycle's path",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suri-young's determined face as she concentrates on finding Kang Min-sook"
          }
        ],
        "flow_summary": "해안가를 내려다보는 넓은 시야에서 시작해 도로 높이로 하강한 뒤, 자전거와 나란히 달리며 수리영에게 접근한다. 마지막에는 진행 방향 앞쪽으로 돌아 들어가 민숙을 찾으려는 수리영의 굳은 얼굴까지 밀착한다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At waist height just inside the entrance, several meters from Suri-young, moving along the room toward her",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Continue forward through the room while rising to eye level and turning toward the open bedroom doorway.",
            "visual_focus": "The traces of intrusion, the disturbed room, and Suri-young reacting among them"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At eye level near the bedroom doorway, behind and slightly to the side of Suri-young, facing the bedroom wall from several meters away",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Dolly past Suri-young and close the distance to the wall until the marked photograph dominates the view.",
            "visual_focus": "Suri-young's glance leading toward the red circle and the photograph at its center"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly in front of the bedroom wall at close range, aligned with the center of the red circle and the photograph",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "Push closer with the photograph as Suri-young removes and examines it, then cut into the photograph's image plane.",
            "visual_focus": "The blood-stained photograph fixed at the center of the red circle"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Orthogonal to the old photograph's image plane, close enough for its depicted figures and building to fill the frame",
            "stage_index": 4,
            "stage_label": "photograph_reveal",
            "transition_to_next": "Cut back from the photograph image to Suri-young at close range, then begin pulling away as she sits on the bed.",
            "visual_focus": "Twelve-year-old Min-sook and the other twelve-year-old girl seated in front of the rural restaurant"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At Suri-young's eye level beside the bed, beginning close to her face and retreating to include her seated body and the surrounding room",
            "stage_index": 5,
            "stage_label": "reaction_withdraw",
            "transition_to_next": "Arc from the foot of the bed toward the route to the entrance, then match Suri-young's movement as she takes the backpack and stands.",
            "visual_focus": "Suri-young's stunned reaction, the photograph in her hand, and her survey of the disturbed home"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height in a three-quarter frontal position about two meters from Suri-young, moving backward along her path toward the entrance",
            "stage_index": 6,
            "stage_label": "departure",
            "transition_to_next": "",
            "visual_focus": "Suri-young wearing the backpack and gripping the blood-stained photograph as she moves to leave"
          }
        ],
        "flow_summary": "카메라는 침입 흔적을 따라 거실에서 수리영의 방으로 전진해 붉은 원과 사진에 밀착한 뒤, 사진 이미지 안으로 논리적으로 컷한다. 다시 수리영에게 돌아와 뒤로 물러나며 혼란과 결심을 함께 담고, 백팩과 사진을 든 수리영을 따라 현관까지 이동한다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 3
          },
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 17,
            "stage_index": 4
          },
          {
            "deviation_note": "Hold the three-quarter frontal relationship long enough to keep both the backpack and the clenched photograph visible before continuing toward the entrance.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 27,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At eye level near the rocks, 5 meters behind and slightly to the side of Suriyoung, facing across the harbor toward the sea",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Pan away from Suriyoung's seated position and across the sea until the approaching boat enters the viewing axis.",
            "visual_focus": "Suriyoung against the empty harbor and the fog-covered sea beyond her"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At the harbor edge, 1.3 meters above the ground and at a long distance from the approaching boat, facing outward across the water",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "Keep the boat centered as it nears the harbor, then pan back toward Suriyoung and begin moving parallel to her route toward the boat.",
            "visual_focus": "The single boat advancing bow-first through the fog toward the harbor"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist-to-chest height, 2 meters to the side of Suriyoung, moving parallel with her from the rocks toward the arriving boat",
            "stage_index": 3,
            "stage_label": "approach",
            "transition_to_next": "Decelerate beside the boat as Suriyoung reaches Inwoo, then settle at eye level on the open side of their shared axis.",
            "visual_focus": "Suriyoung hurrying toward the boat and Inwoo securing it at the harbor"
          },
          {
            "camera_motion": "static",
            "camera_position": "At eye level, 1.5 meters from Suriyoung and Inwoo, positioned on the same side of their conversational axis with the boat adjacent to them",
            "stage_index": 4,
            "stage_label": "negotiation",
            "transition_to_next": "Dolly inward and lower from the two-person position toward Inwoo's arm as he reaches the decision to let Suriyoung aboard.",
            "visual_focus": "The exchange between Suriyoung and Inwoo as her request is considered"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At waist height, moving from 1.2 meters to 0.7 meters from Inwoo's gesturing hand, angled toward the boat",
            "stage_index": 5,
            "stage_label": "permission",
            "transition_to_next": "Continue past the gesture, rise to eye level, and track around toward Suriyoung as she turns her attention to the sea and her phone.",
            "visual_focus": "Inwoo's hand indicating the boat in permission"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye level, 0.9 meters from Suriyoung, moving in a short arc from her side to a three-quarter frontal position",
            "stage_index": 6,
            "stage_label": "message",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's face as she looks toward the sea and records a voice message"
          }
        ],
        "flow_summary": "카메라는 갯바위 뒤에서 수리영과 빈 포구를 바라보다 바다 쪽으로 회전해 다가오는 배를 포착하고, 수리영을 따라 배까지 이동한다. 이후 대화 축 안으로 좁혀 들어가 인우의 허락 손짓을 거친 뒤 수리영의 전면으로 돌아 음성메시지를 남기는 얼굴에서 멈춘다.",
        "scene_index": 26,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 13,
            "stage_index": 2
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 28,
            "stage_index": 5
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 32,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "At standing eye level, several feet in front of Hyesu in a medium-wide three-quarter position",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Continue forward while lowering and angling the camera toward the phone in Hyesu's hand.",
            "visual_focus": "Hyesu holding the phone and checking the recorded message"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At Hyesu's seated chest height, close to her front three-quarter side and within arm's reach of the phone",
            "stage_index": 2,
            "stage_label": "message_observation",
            "transition_to_next": "Tilt upward from the phone along Hyesu's eyeline, then move slightly closer to settle on her face.",
            "visual_focus": "The phone playback interface, Hyesu's hand, and her attention fixed on the message"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Hyesu's eye level, directly in front of her at close-up distance",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Hyesu's anxious face as she realizes Suriyoung has left"
          }
        ],
        "flow_summary": "카메라는 혜수와 휴대전화를 함께 보는 거리에서 시작해 메시지 재생 화면 가까이 접근한 뒤, 시선을 따라 얼굴로 올라가며 전진한다. 마지막에는 수리영이 떠났음을 알아챈 혜수의 불안한 표정에 밀착한다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Far from the boat at a low exterior height, facing its side with the full vessel contained in frame",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Cut from the distant exterior view to the deck, placing the camera near Suri-young and Inwoo.",
            "visual_focus": "The small fishing boat isolated on the open sea"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "On the deck at seated chest height, positioned beside the space between Suri-young and Inwoo and advancing toward the objects held between them",
            "stage_index": 2,
            "stage_label": "evidence_approach",
            "transition_to_next": "At the end of the push toward the photograph, tilt and shift the viewing axis upward to Inwoo's face.",
            "visual_focus": "The map, Suri-young's hands, and the old photograph presented to Inwoo"
          },
          {
            "camera_motion": "static",
            "camera_position": "At close conversational distance from Inwoo, near his eye level and angled slightly across Suri-young's side of the exchange",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "When Inwoo rises, pull back and begin tracking beside him toward the wheelhouse.",
            "visual_focus": "Inwoo's face and his unstable gaze as he recognizes the place in the photograph"
          },
          {
            "camera_motion": "track",
            "camera_position": "At standing waist-to-chest height beside the route from the deck seating area to the wheelhouse, moving parallel to Inwoo and then allowing Suri-young to enter behind him",
            "stage_index": 4,
            "stage_label": "urgent_pursuit",
            "transition_to_next": "Track through the wheelhouse entrance and swing ahead of the two characters to face the steering controls.",
            "visual_focus": "Inwoo rushing toward the steering controls and Suri-young pursuing him"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Inside the wheelhouse at standing chest height, a few steps in front of the steering controls and facing back toward Inwoo and Suri-young",
            "stage_index": 5,
            "stage_label": "confrontation",
            "transition_to_next": "",
            "visual_focus": "Suri-young blocking Inwoo at the steering controls"
          }
        ],
        "flow_summary": "먼바다의 어선을 원경으로 확인한 뒤 갑판으로 절단해 지도와 사진 쪽으로 접근하고, 사진에서 인우의 흔들리는 얼굴로 시선을 들어 올린다. 인우가 조타실로 달려가면 카메라도 그 동선을 따라가 조타 장치 앞에서 수리영이 가로막는 대치로 마무리한다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "The push reaches an overhead-leaning insert distance so the old photograph nearly fills the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 15,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten slightly around Inwoo's eyes and face to isolate the moment his gaze wavers.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 17,
            "stage_index": 3
          },
          {
            "deviation_note": "Settle the handheld movement briefly to keep both Suri-young's blocking posture and Inwoo at the controls readable.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 35,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At chest height, about 2.5 meters from Inwoo and Suri-young, positioned laterally to keep both figures and the steering controls within the viewing axis",
            "stage_index": 1,
            "stage_label": "confrontation",
            "transition_to_next": "Track forward and slightly sideways toward the space between the two figures as their exchange shifts to the photograph.",
            "visual_focus": "Inwoo and Suri-young confronting each other at the steering controls"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At upper-chest height, about 1.5 meters from the two figures, aligned across the photograph held between them",
            "stage_index": 2,
            "stage_label": "identity_disclosure",
            "transition_to_next": "Continue the forward move past the photograph and settle on Inwoo's eyeline as the name is spoken.",
            "visual_focus": "The photograph, Suri-young's indication of the child, and Inwoo receiving the name"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Suri-young's eye height, moving from a medium distance to a tight facial distance directly across from Inwoo",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "Cut on Inwoo's fixed stare to Suri-young's eye-level subjective viewpoint.",
            "visual_focus": "Inwoo's eyes and face freezing at the name Kang Min-sook"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At Suri-young's eye position, facing past Inwoo into the wheelhouse at a subjective viewing distance",
            "stage_index": 4,
            "stage_label": "subjective_reveal",
            "transition_to_next": "Cut out of the subjective viewpoint to a side angle as Suri-young loses balance toward Inwoo.",
            "visual_focus": "The circles within Suri-young's unstable field of view, ending on the red circle"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At shoulder height, about 1.2 meters to the side of Inwoo and Suri-young, framing their upper bodies along the direction of Suri-young's fall",
            "stage_index": 5,
            "stage_label": "collapse",
            "transition_to_next": "",
            "visual_focus": "Suri-young's unconscious upper body collapsing onto Inwoo's shoulder"
          }
        ],
        "flow_summary": "카메라는 두 사람의 대치를 함께 바라보는 거리에서 사진과 이름을 따라 인우에게 점진적으로 접근한다. 인우의 굳은 눈빛에서 수리영의 주관 시점으로 전환해 붉은 원을 포착한 뒤, 측면으로 컷해 수리영이 인우의 어깨 위로 무너지는 움직임을 따른다.",
        "scene_index": 29,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 23,
            "stage_index": 3
          },
          {
            "deviation_note": "The pan settles and holds briefly on the red circle at the end of the subjective scan.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 28,
            "stage_index": 4
          },
          {
            "deviation_note": "The downward tilt stops at upper-body level as Suri-young comes to rest on Inwoo's shoulder.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 35,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Far from the fishing boat at an elevated wide-view height above sea level, facing toward the horizon",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward and lateral track toward the fishing boat while lowering to a near sea-level viewpoint.",
            "visual_focus": "The low sun, its long reflection across the sea, and the fog bank extending across the boat's path"
          },
          {
            "camera_motion": "track",
            "camera_position": "Outside the fog bank at a near sea-level height, moving parallel to the fishing boat from a medium-long side distance",
            "stage_index": 2,
            "stage_label": "boundary_crossing",
            "transition_to_next": "The lateral track slows and settles behind the fishing boat as more of it passes into the fog bank.",
            "visual_focus": "The fishing boat with its bow crossing the boundary of the dense fog bank"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the fog bank at a near sea-level height, positioned at a distant rear angle from the fishing boat's path",
            "stage_index": 3,
            "stage_label": "disappearance",
            "transition_to_next": "",
            "visual_focus": "The diminishing visible portion of the fishing boat until the fog bank fully obscures it"
          }
        ],
        "flow_summary": "카메라는 해와 바다, 안개 띠를 넓게 바라본 뒤 수면 가까이 내려가 배와 나란히 이동하며 선수가 안개 경계를 넘는 순간을 포착한다. 이어 배의 진행 방향 뒤쪽에 멈춰 남은 형체가 안개 속으로 사라지는 과정을 지켜본다.",
        "scene_index": 30,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "ad767c9e-6ed0-46c3-979c-f83d842c6602",
  "resolved_model": "gpt",
  "updated_at": "2026-07-10T09:42:53.277209+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}