{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At hip height, several meters to the side of the fleeing man, moving parallel to his path",
            "stage_index": 1,
            "stage_label": "pursuit",
            "transition_to_next": "The camera lowers and moves inward toward the man's injured leg while maintaining his direction of travel.",
            "visual_focus": "The fleeing man's unsteady movement through the vegetation"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At upper-thigh height, within close range on the injured side of the moving man",
            "stage_index": 2,
            "stage_label": "injury_observation",
            "transition_to_next": "The camera rises along the man's body and rotates toward his face without breaking the forward movement.",
            "visual_focus": "The large bite mark and flowing blood on the man's thigh"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At face height, close to the front-quarter side of the fleeing man",
            "stage_index": 3,
            "stage_label": "fear_observation",
            "transition_to_next": "The camera rapidly pulls back and swings toward the direction of the incoming figure, widening to include both bodies.",
            "visual_focus": "The terrified expression of the fleeing man"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At waist height, several meters from the man and the incoming figure, with both bodies visible from head to foot",
            "stage_index": 4,
            "stage_label": "impact_reveal",
            "transition_to_next": "",
            "visual_focus": "The unfamiliar man striking the fleeing man's shoulder as both fall to the ground"
          }
        ],
        "flow_summary": "카메라는 도망치는 남자를 측면에서 따라가다 부상당한 허벅지로 밀착하고, 몸을 따라 얼굴까지 상승한다. 이어 급히 뒤로 빠지며 시선을 돌려 낯선 남자의 습격과 두 사람이 쓰러지는 순간을 전신으로 포착한다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "At standing eye level several meters from the two figures, facing them from within the alley",
            "stage_index": 1,
            "stage_label": "establishing_approach",
            "transition_to_next": "The camera continues forward and shifts laterally into a close side angle on the two figures.",
            "visual_focus": "The man and woman intertwined beside the utility pole"
          },
          {
            "camera_motion": "track",
            "camera_position": "At the level of the woman's neck, within close-up distance and positioned perpendicular to the man's biting direction",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera pulls back from the neck and lowers its viewing angle to retain the woman as she collapses.",
            "visual_focus": "The man's red eyes and teeth pulling at the woman's neck"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At waist height on the same side of the figures, retreating to several meters away for a full-body view",
            "stage_index": 3,
            "stage_label": "collapse_withdraw",
            "transition_to_next": "",
            "visual_focus": "The woman's body losing support and falling toward the ground"
          }
        ],
        "flow_summary": "카메라는 골목 안에서 전봇대 곁의 두 사람을 향해 전진한 뒤 측면으로 붙어 습격의 핵심을 클로즈업한다. 이어 같은 측면 축을 유지하며 뒤로 빠지고 시선을 낮춰 여자가 쓰러지는 전신 동작까지 연결한다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At standing eye level outside the incident perimeter, approximately 12 meters from the officers and recovered bodies, holding a wide view",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks forward from the perimeter toward the cluster of detectives while keeping the investigation activity within the frame.",
            "visual_focus": "The officers inspecting the scene, the incident perimeter, and the body recovery activity"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height approximately 5 meters from the detective group, advancing along a clear line toward the center of the group",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera completes a shallow arc around the detective group to settle directly in front of Hyesu, then stops.",
            "visual_focus": "The detective group with Hyesu becoming the central figure"
          },
          {
            "camera_motion": "static",
            "camera_position": "At Hyesu's eye level directly in front of her, at a medium distance beyond the nearest detectives",
            "stage_index": 3,
            "stage_label": "command_focus",
            "transition_to_next": "",
            "visual_focus": "Hyesu standing at the center of the detectives with one hand extended toward the scene"
          }
        ],
        "flow_summary": "현장 전경과 수습 활동을 넓게 확인한 뒤 형사 무리를 향해 전진하며 혜수를 중심 인물로 좁혀간다. 카메라는 무리 앞쪽으로 돌아 혜수의 정면에 멈추며 지휘 동작을 포착한다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "High above the outskirts at a steep downward angle, far enough to include the surrounding neighborhood and the relevant building",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera glides forward and descends along the same aerial axis, tightening toward the rooftop room.",
            "visual_focus": "The outskirts surrounding the building with the rooftop room held near the center of the frame"
          },
          {
            "camera_motion": "crane",
            "camera_position": "Above the building at a closer overhead vantage, angled downward to frame the rooftop room and part of its immediate surroundings",
            "stage_index": 2,
            "stage_label": "aerial_approach",
            "transition_to_next": "",
            "visual_focus": "The old villa rooftop room"
          }
        ],
        "flow_summary": "카메라는 변두리 상공의 넓은 부감에서 출발해 같은 축을 따라 전진·하강하며 오래된 빌라의 옥탑방 전경으로 시선을 모은다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "Maintain enough surrounding area in frame to preserve the sense of the outskirts while emphasizing the sunlit rooftop room.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At counter height, close to the sink, moving laterally toward the stove within the living area",
            "stage_index": 1,
            "stage_label": "domestic_establishing",
            "transition_to_next": "The camera continues past the stove and rises to waist height, turning toward 민숙 and the television.",
            "visual_focus": "The running faucet, the partially washed herbs, and the boiling pot"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At waist height in the living area, several steps from 민숙, facing her and the television",
            "stage_index": 2,
            "stage_label": "uneasy_observation",
            "transition_to_next": "As 수리영 opens the door, the camera pans away from the television toward her path into the living area.",
            "visual_focus": "민숙 watching the television and abruptly switching it off when 수리영 appears"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At seated eye level beside the table, at medium distance from 민숙 and 수리영",
            "stage_index": 3,
            "stage_label": "table_exchange",
            "transition_to_next": "A direct cut relocates the camera from the table area to the interior side of the entrance after the dialogue jump.",
            "visual_focus": "민숙 and 수리영 exchanging dialogue across the table and the cup placed between them"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Inside the entrance at standing waist height, several steps from 수리영, facing her as she puts on her shoes",
            "stage_index": 4,
            "stage_label": "entrance_transition",
            "transition_to_next": "The camera tracks closer and shifts to the side of the two women as 수리영 moves toward 민숙.",
            "visual_focus": "수리영 preparing to leave and speaking with 민숙"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At shoulder height beside 수리영 and 민숙, within close conversational distance and perpendicular to 수리영's profile",
            "stage_index": 5,
            "stage_label": "affectionate_close_observation",
            "transition_to_next": "From the side close-up, the camera lowers along 민숙's arm and advances to wrist distance.",
            "visual_focus": "수리영 pressing her nose near 민숙's shoulder, closing her eyes, and smiling"
          },
          {
            "camera_motion": "static",
            "camera_position": "At wrist height, only a few inches from 민숙's wrist",
            "stage_index": 6,
            "stage_label": "mark_reveal",
            "transition_to_next": "",
            "visual_focus": "The small, clearly defined circular mark on 민숙's wrist"
          }
        ],
        "flow_summary": "카메라는 싱크대와 냄비를 따라 거실 안쪽의 민숙과 식탁 대화로 이동한 뒤, 명시적인 컷으로 현관에 넘어간다. 이후 두 사람의 다정한 접촉을 옆에서 좁혀 잡고, 민숙의 팔을 따라 내려가 손목의 표식에 도달한다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 5
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At chest height, several meters ahead of the cyclist and offset toward the road side, maintaining a front three-quarter full-body distance",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks backward with the cyclist, then arcs smoothly into a parallel side position while preserving the full-body distance.",
            "visual_focus": "The cyclist riding along the coastal road"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height, directly beside the cyclist at a full-body distance, moving parallel to the bicycle",
            "stage_index": 2,
            "stage_label": "side_observation",
            "transition_to_next": "The camera gradually falls behind the bicycle and widens into a rear three-quarter following position.",
            "visual_focus": "The cyclist's full-body pedaling motion and forward movement"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At chest height, several meters behind and diagonally offset from the cyclist, framing the bicycle and the direction of travel",
            "stage_index": 3,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "The cyclist continuing along the road"
          }
        ],
        "flow_summary": "카메라는 수리영의 앞쪽에서 후진하며 달리기를 받아낸 뒤, 옆으로 부드럽게 돌아 전신의 페달 동작과 나란히 이동한다. 이후 뒤쪽으로 처지며 진행 방향과 함께 수리영을 넓게 따라간다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Timed to the instant when one pedal is pressed downward, with the cyclist's hair trailing opposite the direction of travel.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the Rottweiler's standing height, about 3 meters in front of the dog and aligned with its body axis",
            "stage_index": 1,
            "stage_label": "threat_establishing",
            "transition_to_next": "Dolly forward past the dog's frontal axis and settle directly in front of Suriyoung at her eye level.",
            "visual_focus": "The agitated Rottweiler facing Suriyoung"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Suriyoung's eye level, about 0.7 meters directly in front of her",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Track in a shallow arc around Suriyoung and the dog toward the dog's rear side while keeping their confrontation spatially connected.",
            "visual_focus": "Suriyoung's unwavering eyes directed at the Rottweiler"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height beside the Rottweiler's rear quarter, about 1 meter from the dog and the doctor",
            "stage_index": 3,
            "stage_label": "intervention",
            "transition_to_next": "Dolly backward from the dog and doctor, then continue laterally toward the row of enclosures as Suriyoung turns her attention to the confined dogs.",
            "visual_focus": "The doctor's injection at the Rottweiler's rear and the dog's subsiding posture"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height, about 2 meters in front of Suriyoung as she stands beside the row of enclosures",
            "stage_index": 4,
            "stage_label": "concerned_pause",
            "transition_to_next": "Track alongside Suriyoung as she leaves the call and moves toward the dog indicated by the helper, then lower toward her working height.",
            "visual_focus": "Suriyoung holding the phone to her ear, with the confined dogs behind her"
          },
          {
            "camera_motion": "track",
            "camera_position": "At crouching shoulder height, about 1 meter beside Suriyoung near the dog being handled",
            "stage_index": 5,
            "stage_label": "work_transition",
            "transition_to_next": "",
            "visual_focus": "Suriyoung beginning the grooming and care tasks"
          }
        ],
        "flow_summary": "카메라는 로트와일러의 위협적인 전신에서 수리영의 정면 눈빛으로 밀착한 뒤, 개의 뒤편을 돌아 의사의 처치를 따라간다. 이후 뒤로 빠지며 갇힌 개들 앞의 수리영에게 이동하고, 통화가 끝난 뒤 돌봄 작업을 시작하는 위치까지 연속해서 따라간다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "Hold at the closest point of the dolly to create a frontal close-up centered on her gaze.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Settle the lateral track into a brief upper-body hold while keeping the phone and her fixed expression clearly visible.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At street level, several meters ahead and slightly to the side of Suri-young, maintaining full-body distance along her route through the commercial street",
            "stage_index": 1,
            "stage_label": "street_tracking",
            "transition_to_next": "The camera continues tracking toward the store, then shifts behind and to the side of Suri-young as she dismounts and approaches the entrance.",
            "visual_focus": "Suri-young riding her bicycle between the signs, taxis, vendors, and street stalls"
          },
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level, two to three meters behind and slightly beside Suri-young as she leaves the bicycle and crosses the store entrance",
            "stage_index": 2,
            "stage_label": "arrival",
            "transition_to_next": "The camera follows her through the entrance and moves laterally into a side-on view as she reaches the employees.",
            "visual_focus": "Suri-young parking the bicycle, entering the store, and searching for Minsook"
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside the store at standing eye level, positioned to the side of Suri-young and the employees at medium conversational distance",
            "stage_index": 3,
            "stage_label": "conversation",
            "transition_to_next": "The camera moves inward from the shared side view and adjusts toward Suri-young's eyeline as the employees' information unsettles her.",
            "visual_focus": "Suri-young questioning the female employee and turning toward the male employee"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the store at Suri-young's eye level, moving from medium distance to close facial distance on the side nearest the employees",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "A cut crosses the elapsed action of Suri-young leaving the store and relocates the camera outside near her path.",
            "visual_focus": "Suri-young's widened eyes and puzzled reaction after asking who Minsook was speaking with"
          },
          {
            "camera_motion": "track",
            "camera_position": "Outside the store at standing height, several meters in front of and slightly to the side of Suri-young, holding a full-body distance as she exits and stops",
            "stage_index": 5,
            "stage_label": "exterior_concern",
            "transition_to_next": "",
            "visual_focus": "Suri-young holding a phone to her ear, stopping when the call goes unanswered, and showing growing anxiety"
          }
        ],
        "flow_summary": "카메라는 번화가에서 자전거를 탄 수리영을 따라 마트 안으로 진입한 뒤, 직원들과의 대화 동선을 측면에서 좁혀 들어가 의아한 얼굴에 도달한다. 이후 외부로 논리적 컷해 전신 거리로 물러나며, 전화를 받지 않는 민숙 때문에 멈춰 선 수리영을 포착한다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          },
          {
            "deviation_note": "The tracking movement settles into a static full-body hold once Suri-young stops.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Ten meters behind and offset to the rear three-quarter side of 수리영, at chest height, moving along the road axis",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera accelerates along a shallow diagonal path, reducing the distance while shifting from the rear three-quarter angle to a parallel side position.",
            "visual_focus": "수리영 rapidly riding the bicycle along the coastal road"
          },
          {
            "camera_motion": "track",
            "camera_position": "Five meters to the side of 수리영, at hip height, traveling parallel to the bicycle with enough distance to contain the full figure",
            "stage_index": 2,
            "stage_label": "side_observation",
            "transition_to_next": "",
            "visual_focus": "수리영 leaning forward and driving one pedal downward while riding"
          }
        ],
        "flow_summary": "카메라는 수리영의 뒤쪽에서 해안도로를 따라 함께 이동하다가 속도를 높여 측면으로 붙는다. 이후 전신이 보이는 거리를 유지하며 자전거의 빠른 진행과 페달 동작을 병행 추적한다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "The framing lowers slightly to emphasize the bent knee and downward pedal stroke while retaining the full figure.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At tabletop height beside the rooftop platform, within close range of the dried leaves",
            "stage_index": 1,
            "stage_label": "establishing_detail",
            "transition_to_next": "The camera lowers and tracks along the path of a drifting leaf toward the approaching stranger.",
            "visual_focus": "The dried leaves lifting from the rooftop platform"
          },
          {
            "camera_motion": "track",
            "camera_position": "Just above floor level, moving alongside and slightly ahead of the stranger's feet",
            "stage_index": 2,
            "stage_label": "ominous_approach",
            "transition_to_next": "The low track continues toward the doorway, then rises into close range as the stranger stops.",
            "visual_focus": "A drifting leaf brushing the stranger's shoe, followed by his feet and long shadow"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly in front of the closed doorway at hand height, within close-up distance of the door gap",
            "stage_index": 3,
            "stage_label": "forced_entry",
            "transition_to_next": "After the door opens and the stranger enters, cut to a position outside the window for a lateral view of the reflected action.",
            "visual_focus": "The stranger's fingers pressing the flyer into the door gap"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the window at shoulder height, close to the pane and aligned perpendicular to the reflected silhouettes",
            "stage_index": 4,
            "stage_label": "attack_reveal",
            "transition_to_next": "",
            "visual_focus": "The stranger's reflected silhouette opening his mouth and lunging toward the woman's shoulder"
          }
        ],
        "flow_summary": "카메라는 평상 높이의 말린 잎에서 바닥 가까이 내려가 낯선 남자의 발을 따라 철문까지 전진한다. 침입 동작을 가까이 포착한 뒤 창문 바깥의 측면 위치로 컷해, 두 실루엣이 겹치며 습격이 벌어지는 순간을 응시한다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At waist height, 3 meters behind Suriyoung as she moves from the courtyard toward the stairs",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "Track forward behind Suriyoung, then rise and shift to her side as she starts climbing the stairs.",
            "visual_focus": "Suriyoung leaving the bicycle and moving urgently toward the stairs"
          },
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height, about 1 meter beside Suriyoung on the stairs, moving upward parallel to her",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Continue upward with Suriyoung, then arc onto the rooftop and widen to a rear three-quarter view facing the entrance door.",
            "visual_focus": "Suriyoung reacting to the sudden smell while climbing"
          },
          {
            "camera_motion": "static",
            "camera_position": "At eye level on the rooftop, 4 meters behind and to the side of Suriyoung, framing her full body with the half-open entrance door ahead",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "Suriyoung frozen in place as she stares at the half-open entrance door"
          }
        ],
        "flow_summary": "카메라는 마당에서 수리영의 뒤를 따라 계단으로 접근한 뒤, 그녀와 함께 상승하며 반응을 관찰한다. 옥상에 도착하면 측후방으로 돌아 넓어지며 수리영의 전신과 반쯤 열린 현관 철문을 함께 드러내고 정지한다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "The movement settles into a locked full-body composition and holds as Suriyoung freezes.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At adult eye height just behind the daughter, moving from the living-room entrance toward the interior doorways at a following distance of about 1.5 meters",
            "stage_index": 1,
            "stage_label": "search",
            "transition_to_next": "Follow the daughter to her room doorway, then lower behind her as she enters and notices the floor.",
            "visual_focus": "The daughter searching the living room and checking the adjoining rooms"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At knee height inside the daughter's room, about 2 meters behind her and aligned with the path across the floor toward the curtain",
            "stage_index": 2,
            "stage_label": "evidence_approach",
            "transition_to_next": "Continue forward along the path on the floor and stop as the daughter pulls the curtain aside.",
            "visual_focus": "The blood on the floor, the bloody footprints, and the curtain at the end of their path"
          },
          {
            "camera_motion": "static",
            "camera_position": "At knee height about 2 meters from the opened curtain, facing the seated mother with the daughter held near the edge of the viewing axis",
            "stage_index": 3,
            "stage_label": "corpse_reveal",
            "transition_to_next": "Dolly backward and pivot toward the daughter as she recoils from the body.",
            "visual_focus": "The mother sitting motionless with her head lowered behind the opened curtain"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Near floor height between the mother and the room doorway, facing the daughter from a distance of about 1.5 meters as she moves backward",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "After the phone call begins, cut to a close position beside the mother's lowered hand.",
            "visual_focus": "The daughter's frozen reaction, backward movement, and attempt to use her phone"
          },
          {
            "camera_motion": "static",
            "camera_position": "About 25 centimeters from the mother's hand at hand height, angled down enough to isolate the closed fingers and what they hold",
            "stage_index": 5,
            "stage_label": "clue_observation",
            "transition_to_next": "Raise the viewing angle from the hand and tilt past the bed toward the wall above it.",
            "visual_focus": "The crumpled paper photograph held inside the mother's rigid hand"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At low bedside height about 1.5 meters from the wall above the bed, with the lens turning upward from the lower part of the room",
            "stage_index": 6,
            "stage_label": "supernatural_reveal",
            "transition_to_next": "",
            "visual_focus": "The thick red circle visible on the wall above the bed"
          }
        ],
        "flow_summary": "카메라는 수리영의 수색을 뒤따라 방 안의 혈흔과 커튼으로 낮게 접근한 뒤, 민숙의 시신을 정면으로 드러낸다. 이후 수리영의 후퇴를 따라 물러났다가 손의 사진으로 컷인하고, 시선을 위로 들어 침대 위 벽의 붉은 원을 최종적으로 밝힌다.",
        "scene_index": 12,
        "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": 15,
            "stage_index": 5
          },
          {
            "deviation_note": "The upward tilt settles into a static hold once the full circle is clearly framed.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 18,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At upper-body height just outside the rooftop room entrance, moving backward ahead of Suri-young at a short distance",
            "stage_index": 1,
            "stage_label": "escape",
            "transition_to_next": "The camera retreats toward the stairs, then lowers and turns to continue ahead of Suri-young's descent.",
            "visual_focus": "Suri-young emerging from the rooftop room and moving toward the stairs"
          },
          {
            "camera_motion": "track",
            "camera_position": "On the stairs below Suri-young, descending backward at approximately waist height while maintaining a medium distance",
            "stage_index": 2,
            "stage_label": "descent",
            "transition_to_next": "The backward descent ends at the bottom of the stairs, where the camera levels at Suri-young's eye line and closes the distance.",
            "visual_focus": "Suri-young's hurried movement down the stairs"
          },
          {
            "camera_motion": "static",
            "camera_position": "At eye level directly in front of Suri-young at the bottom of the stairs, within close-up distance",
            "stage_index": 3,
            "stage_label": "disorientation",
            "transition_to_next": "The camera pulls back and pivots from Suri-young toward Hye-su's approach, preserving the spatial line between them.",
            "visual_focus": "Suri-young's unfocused face and fixed gaze into empty space"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height between the car and the bottom of the stairs, moving laterally and backward ahead of Hye-su",
            "stage_index": 4,
            "stage_label": "approach",
            "transition_to_next": "The camera retreats with Hye-su until she reaches Suri-young, then settles beside their shared axis.",
            "visual_focus": "Hye-su recognizing Suri-young and running toward her"
          },
          {
            "camera_motion": "static",
            "camera_position": "At chest height a few steps to the side of Hye-su and Suri-young, framing both at conversational distance",
            "stage_index": 5,
            "stage_label": "confrontation",
            "transition_to_next": "After their exchange, the camera pans from the pair toward the stairs and begins to follow Hye-su's turn upward.",
            "visual_focus": "Hye-su holding Suri-young by both shoulders as they face each other"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height behind Hye-su and the junior detective, following them from the bottom of the stairs at a medium distance",
            "stage_index": 6,
            "stage_label": "return_ascent",
            "transition_to_next": "",
            "visual_focus": "Hye-su and the junior detective running up the stairs toward the rooftop room"
          }
        ],
        "flow_summary": "카메라는 옥탑방에서 뛰쳐나온 수리영을 앞서 계단 아래까지 따라간 뒤, 정면 클로즈업에서 멈춰 그녀의 혼란을 포착한다. 이어 혜수의 접근 방향으로 물러나 두 사람의 대면을 담고, 마지막에는 계단으로 방향을 돌려 혜수와 후배 형사의 상승을 뒤따른다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten the framing to emphasize Hye-su's hands on Suri-young's shoulders while retaining both figures facing each other.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At eye level inside the entrance, about two meters from 김형사 and 혜수, viewing them from the side",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Track behind 수리영 as she breaks away from the entrance and runs toward her room.",
            "visual_focus": "김형사 and 혜수 checking the interior, with 수리영 behind them"
          },
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height about one and a half meters behind 수리영, moving from the entrance toward her room doorway",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Cross the doorway behind 수리영, then drift sideways and settle into a wide view of the room.",
            "visual_focus": "수리영 rushing into her room"
          },
          {
            "camera_motion": "static",
            "camera_position": "At eye level near the room doorway, three to four meters from the curtain area, with a slight downward angle that includes most of the floor",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "Dolly straight into the room and raise the viewing axis to 수리영's face.",
            "visual_focus": "The clean floor, the bed, and the empty curtain area where no body or blood remains"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Moving from a medium distance to about eighty centimeters in front of 수리영 at eye level near the center of the room",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "Arc past 수리영's shoulder, retreat through the doorway, and follow her toward the dining table.",
            "visual_focus": "수리영's pale, stunned face as she realizes the evidence is gone"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height beside the dining table, shifting between 수리영, 김형사, and 혜수 from a distance of one to two meters",
            "stage_index": 5,
            "stage_label": "confrontation",
            "transition_to_next": "After 혜수 comforts 수리영, cut back to a closer position inside 수리영's room.",
            "visual_focus": "수리영 searching the empty table, 김형사 confronting her, and 혜수 moving to comfort her"
          },
          {
            "camera_motion": "static",
            "camera_position": "At a low chest height inside 수리영's room, less than one meter from the corner holding the backpack and doll",
            "stage_index": 6,
            "stage_label": "final_reveal",
            "transition_to_next": "",
            "visual_focus": "The backpack and doll whose positions are slightly different"
          }
        ],
        "flow_summary": "카메라는 현관에서 수리영의 다급한 이동을 따라 방 안으로 진입한 뒤, 사라진 흔적을 넓게 확인하고 그녀의 굳은 얼굴까지 전진한다. 이후 식탁으로 함께 빠져나가 인물들의 충돌과 위로를 지켜본 다음, 방 안의 백팩과 인형으로 컷해 미세한 변화의 단서를 남긴다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Across from the bench at standing eye level, approximately 7 meters from Suri-young, facing her frontally with the sea behind her",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Dolly forward toward the bench while shifting slightly toward the side shared by Suri-young and Hye-soo.",
            "visual_focus": "Suri-young sitting alone with her full body held against the sea"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Beside the front quarter of the bench at chest height, moving from 3 meters to approximately 1.5 meters from Suri-young and Hye-soo",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Continue close to the bench, then ease backward as Suri-young begins to stand.",
            "visual_focus": "Hye-soo offering the drink and Suri-young responding from the bench"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At the side of the bench near seated shoulder height, retreating to approximately 2.5 meters as Suri-young rises into the frame",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "Track laterally with Suri-young's first running steps while keeping Hye-soo near the opposite side of the frame.",
            "visual_focus": "Suri-young abruptly standing, turning away from Hye-soo, and starting to run"
          },
          {
            "camera_motion": "track",
            "camera_position": "On the path side at waist height, moving laterally within 3 meters of the bench as Suri-young runs away",
            "stage_index": 4,
            "stage_label": "departure",
            "transition_to_next": "Decelerate beside the bench and rotate the view from Suri-young's departure back toward Hye-soo.",
            "visual_focus": "Suri-young receding along the path while Hye-soo remains by the bus stop"
          },
          {
            "camera_motion": "static",
            "camera_position": "Near the bench at chest height, approximately 2.5 meters from Hye-soo in a three-quarter frontal view",
            "stage_index": 5,
            "stage_label": "shout",
            "transition_to_next": "Cut to a distant position behind Hye-soo, preserving her orientation toward the direction Suri-young took.",
            "visual_focus": "Hye-soo calling after the receding Suri-young"
          },
          {
            "camera_motion": "static",
            "camera_position": "At standing eye level approximately 15 meters behind Hye-soo, facing the bus stop and her back",
            "stage_index": 6,
            "stage_label": "observer_reveal",
            "transition_to_next": "",
            "visual_focus": "Hye-soo seen from a distant observing viewpoint after Suri-young has left"
          }
        ],
        "flow_summary": "카메라는 바다를 등진 수리영의 전신에서 시작해 벤치로 접근한 뒤, 수리영이 일어나 달려가는 움직임을 짧게 따라간다. 이후 혜수의 외침에 멈췄다가 멀리 떨어진 후방 시점으로 컷해 누군가 지켜보는 듯한 거리감으로 마무리한다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Just inside the office at chest height, facing the open doorway from a medium distance",
            "stage_index": 1,
            "stage_label": "threshold_establishing",
            "transition_to_next": "The camera begins tracking backward as Hyesu crosses the doorway and moves toward Kim.",
            "visual_focus": "Hyesu paused at the doorway with the phone held to her ear"
          },
          {
            "camera_motion": "track",
            "camera_position": "At Hyesu's chest height, moving backward ahead of her from the doorway toward Kim's desk",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera shifts toward Kim's seated eyeline and moves closer as Hyesu extends the phone.",
            "visual_focus": "Hyesu approaching Kim while ending the unanswered call"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Beside Kim's eyeline at seated eye height, closing to within a short distance of the phone held between them",
            "stage_index": 3,
            "stage_label": "evidence_close_observation",
            "transition_to_next": "The camera pulls away from the phone and tracks with Hyesu as her attention turns toward the window.",
            "visual_focus": "Hyesu's finger, the phone number on the screen, and the phone presented before Kim"
          },
          {
            "camera_motion": "static",
            "camera_position": "At Hyesu's eye height and close to her three-quarter profile near the window",
            "stage_index": 4,
            "stage_label": "uneasy_reaction",
            "transition_to_next": "",
            "visual_focus": "Hyesu's tense face and her gaze directed through the window"
          }
        ],
        "flow_summary": "카메라는 열린 문간에서 멈춘 혜수를 받아낸 뒤, 사무실 안으로 들어오는 동선을 따라 김형사의 자리까지 후퇴한다. 이어 김형사의 눈높이로 접근해 혜수가 내민 휴대폰에 밀착한 다음, 혜수의 불안한 시선이 향하는 창가로 이동한다.",
        "scene_index": 16,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Frame tightly enough to prioritize Hyesu's fingertip and the displayed number while retaining Kim's eyeline at the edge of the composition.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At cat-eye height, a short distance behind and to the side of the black cat, framing it against the rooftop room exterior with the window ahead",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera begins tracking laterally and slightly forward as the cat turns away from the window and moves toward the wall.",
            "visual_focus": "The black cat turning its head toward the window"
          },
          {
            "camera_motion": "track",
            "camera_position": "At cat-eye height beside the black cat, maintaining a short lateral distance as it approaches the wall",
            "stage_index": 2,
            "stage_label": "transition",
            "transition_to_next": "",
            "visual_focus": "The black cat gathering itself to jump over the wall"
          }
        ],
        "flow_summary": "카메라는 고양이의 눈높이에서 옥탑방 창문을 돌아보는 순간을 지켜본 뒤, 고양이가 담으로 향하는 움직임을 따라 옆으로 이동한다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "Frame wide enough to retain the bluish dawn-lit rooftop room exterior behind the cat while prioritizing its head turn toward the window.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_out",
            "camera_position": "At bed height beside the bed, initially within close distance of Su-ri-young and retreating toward the bedroom exit",
            "stage_index": 1,
            "stage_label": "awakening",
            "transition_to_next": "The camera continues backward ahead of Su-ri-young until it reaches the doorway to her room.",
            "visual_focus": "Su-ri-young waking and searching for any sign of her mother"
          },
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level just inside the doorway to Su-ri-young's room, moving behind and slightly beside her toward the window",
            "stage_index": 2,
            "stage_label": "cautious_entry",
            "transition_to_next": "The track passes through the doorway with Su-ri-young and settles near the window as she reaches the curtain.",
            "visual_focus": "Su-ri-young entering the room and approaching the curtain"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At chest height between Su-ri-young and the center of the room, close to the window and retreating toward the room exit",
            "stage_index": 3,
            "stage_label": "relief_and_departure",
            "transition_to_next": "After following Su-ri-young away from the window through the phone call and her departure with the backpack, the sequence cuts to a position behind her in the bathroom.",
            "visual_focus": "Su-ri-young's relief, alarm at the phone call, and decision to leave"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At eye level directly behind Su-ri-young, approximately one meter from the mirror, advancing along the mirror's central axis",
            "stage_index": 4,
            "stage_label": "mirror_apparition",
            "transition_to_next": "The push-in ends on the reflected red circle, then the camera swings to Su-ri-young's side as she turns toward the actual wall.",
            "visual_focus": "The mirror reflection of Su-ri-young and the red circle appearing on the reflected bathroom wall"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "At face height beside Su-ri-young, within close distance of her profile and oriented toward the actual bathroom wall",
            "stage_index": 5,
            "stage_label": "vanishing_reaction",
            "transition_to_next": "The camera pivots from the now-empty wall and follows Su-ri-young through the bathroom exit into the living room.",
            "visual_focus": "Su-ri-young turning toward the wall, finding the circle gone, and rushing out"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At chest height beside the living-room table, beginning about one meter from the framed photograph and advancing to close-up distance",
            "stage_index": 6,
            "stage_label": "photograph_distortion",
            "transition_to_next": "The dolly completes on Kang Min-sook's distorted face, then cuts back to Su-ri-young at the table.",
            "visual_focus": "The framed photograph and Kang Min-sook's face becoming unrecognizably distorted"
          },
          {
            "camera_motion": "static",
            "camera_position": "At face height directly in front of Su-ri-young, within close distance across the table",
            "stage_index": 7,
            "stage_label": "self_recovery",
            "transition_to_next": "",
            "visual_focus": "Su-ri-young screaming, seeing the photograph restored, and striking her own cheek"
          }
        ],
        "flow_summary": "카메라는 침대 곁에서 깨어난 수리영을 따라 방과 창가를 거쳐 욕실까지 이동한 뒤, 거울 속 붉은 원을 향해 밀착한다. 이어 수리영을 따라 거실 식탁으로 빠져나와 사진 속 강민숙의 얼굴에 접근하고, 마지막으로 수리영의 반응으로 돌아온다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 4
          },
          {
            "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 eye level near the store entrance, several meters behind Suriyoung, continuing into the aisle behind her",
            "stage_index": 1,
            "stage_label": "entry_search",
            "transition_to_next": "Track forward through the aisle and settle at conversational distance as Suriyoung reaches the male employee.",
            "visual_focus": "Suriyoung entering and searching through the store"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At eye level beside the aisle, moving from a medium two-shot distance toward Suriyoung and the male employee",
            "stage_index": 2,
            "stage_label": "conversation",
            "transition_to_next": "Cut across the location boundary to an eye-level position behind both figures outside the store.",
            "visual_focus": "Suriyoung questioning the male employee about her mother and the CCTV"
          },
          {
            "camera_motion": "static",
            "camera_position": "At eye level several meters behind Suriyoung and the male employee as they stand side by side outside",
            "stage_index": 3,
            "stage_label": "exterior_check",
            "transition_to_next": "Tilt upward along their shared line of sight toward the CCTV camera.",
            "visual_focus": "The backs of Suriyoung and the male employee as they look upward"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Outside near the two figures, angled upward from below the CCTV camera",
            "stage_index": 4,
            "stage_label": "cctv_reveal",
            "transition_to_next": "Tilt down from the CCTV camera, then continue around the pair to face Suriyoung as she begins the call.",
            "visual_focus": "The CCTV camera indicated by their gaze"
          },
          {
            "camera_motion": "track",
            "camera_position": "At Suriyoung's upper-body height outside, moving in a short arc from behind her to a close frontal three-quarter position",
            "stage_index": 5,
            "stage_label": "phone_reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyoung holding a phone to her ear with a rigid expression"
          }
        ],
        "flow_summary": "카메라는 마트 입구에서 수리영을 따라 내부로 들어가 직원과의 대화 거리까지 접근한 뒤, 명시적인 컷으로 마트 밖 두 사람의 뒤편으로 이동한다. 이어 두 사람의 시선을 따라 CCTV를 올려다본 후 다시 내려와 수리영의 통화 표정 앞에 밀착한다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          },
          {
            "deviation_note": "Settle into a stable upper-body framing at the end of the arc.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At seated eye level behind the security employee and Hyesu, at medium-wide distance, with Suriyoung aligned beyond them on the central viewing axis",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Dolly forward between the seated figures' shoulder lines until the monitor fills the frame.",
            "visual_focus": "The backs of the security employee and Hyesu facing the monitor, with Suriyoung held frontally in depth"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At seated eye level immediately behind the security employee and Hyesu, close to the monitor viewing axis",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Track laterally away from the monitor axis and curve around the seated pair to reach a frontal angle on Suriyoung.",
            "visual_focus": "The monitor image being replayed and the indistinct figures within the dark section"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Suriyoung's eye level on the monitor-facing side, beginning at close distance and advancing to a tight facial distance",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's rigid face, fixed gaze, and tightly clasped hands"
          }
        ],
        "flow_summary": "카메라는 보안직원과 혜수의 뒤에서 세 사람과 모니터의 관계를 잡은 뒤 화면 가까이 전진한다. 이어 좌우로 돌아 수리영의 정면에 도달하고, 불안이 깊어지는 얼굴과 꽉 쥔 두 손으로 밀착한다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "Hold the opening position long enough to preserve the rigid frontal alignment of Suriyoung behind the two seated figures.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Complete the inward move on Suriyoung's face while retaining her clasped hands at the lower edge of the close framing.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At eye level near the office entrance, beginning in a wide view and moving parallel to the arriving people toward the desks",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "After the others leave, continue across the office from 수리영's desk toward the monitor that displays the alert.",
            "visual_focus": "혜수 and 수리영 entering, followed by 수리영 remaining at the desk as the others leave"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly in front of the monitor, moving from a medium viewing distance to approximately 30 centimeters from the screen",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "Dolly back slightly, then arc laterally from the monitor toward 수리영's eyeline without crossing behind her.",
            "visual_focus": "The maritime map, the marked point, and the location coordinates on the monitor"
          },
          {
            "camera_motion": "track",
            "camera_position": "At 수리영's eye level, arcing into a frontal close position approximately 50 centimeters from her face",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "Lower the camera from face level toward her writing hand, then continue down to waist level as she folds the note.",
            "visual_focus": "수리영's frozen, stricken reaction to the location result"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At waist height beside 수리영, approximately 30 centimeters from her hand and pocket",
            "stage_index": 4,
            "stage_label": "concealment",
            "transition_to_next": "Track backward and rise to a rear three-quarter position as 수리영 turns away from the desk toward the office exit.",
            "visual_focus": "수리영's hand folding the written note and pushing it into her pocket"
          },
          {
            "camera_motion": "track",
            "camera_position": "At upper-body height behind and slightly to one side of 수리영, maintaining a medium distance as she crosses toward the office exit",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "수리영 leaving the desk and moving out of the office"
          }
        ],
        "flow_summary": "카메라는 사무실 입구에서 인물들을 따라 책상 구역으로 진입한 뒤, 알림이 뜬 모니터까지 전진해 위치 정보를 드러낸다. 이어 수리영의 굳은 얼굴로 돌아 나와 손과 주머니까지 낮아지고, 마지막에는 그녀가 사무실을 빠져나가는 방향으로 물러난다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 2
          },
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 3
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 13,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At waist height, several meters from Su-ri-young and the bicycle, positioned in a lateral three-quarter view",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Su-ri-young starts forward, the camera accelerates into a parallel track while maintaining the same side and viewing height.",
            "visual_focus": "Su-ri-young seated on the stationary bicycle before departure"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height, moving parallel to Su-ri-young from a full-body distance on her lateral side",
            "stage_index": 2,
            "stage_label": "acceleration",
            "transition_to_next": "",
            "visual_focus": "Su-ri-young leaning forward, driving the pedals, and accelerating on the bicycle"
          }
        ],
        "flow_summary": "카메라는 정지한 자전거 옆에서 수리영의 출발을 기다린 뒤, 그녀가 속도를 내는 순간 같은 측면 축을 유지하며 병행 추적한다.",
        "scene_index": 22,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "At seated eye level, about 1.8 meters in front of and slightly to one side of Soori-young",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Continue the dolly toward the desk while lowering from seated eye level to hand level.",
            "visual_focus": "Soori-young's upper body as she watches the active monitor"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At desk height, about 0.5 meters from Soori-young's hands",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Track laterally away from the keyboard area toward the printer output area while maintaining desk height.",
            "visual_focus": "Soori-young's fingers operating the keyboard"
          },
          {
            "camera_motion": "track",
            "camera_position": "At the height of the printer output area, about 0.6 meters from the emerging maps",
            "stage_index": 3,
            "stage_label": "document_reveal",
            "transition_to_next": "Track from the printer output area toward the open backpack, then lower into a top-oblique close position over its opening.",
            "visual_focus": "The printed maps emerging from the printer"
          },
          {
            "camera_motion": "static",
            "camera_position": "About 0.3 meters above and slightly in front of the open backpack, angled down toward its opening",
            "stage_index": 4,
            "stage_label": "completion",
            "transition_to_next": "",
            "visual_focus": "Soori-young's paused hand after pushing the folded maps into the open backpack"
          }
        ],
        "flow_summary": "카메라는 수리영의 상체와 모니터를 함께 보는 위치에서 책상 쪽으로 접근한 뒤, 손과 인쇄 과정을 따라 이동한다. 마지막에는 열린 백팩 위로 낮아져 지도들을 넣고 멈춘 손에 정착한다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "tilt",
            "camera_position": "High above the coastal area in a distant wide position, aimed upward",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Tilt downward toward the road, then descend and advance to meet Suriyeong's direction of travel.",
            "visual_focus": "The cloud-filled sky, lightning, and heavy rain over the coastal area"
          },
          {
            "camera_motion": "track",
            "camera_position": "At full-body height beside and slightly ahead of Suriyeong, several meters away and moving parallel to the bicycle",
            "stage_index": 2,
            "stage_label": "pursuit",
            "transition_to_next": "Continue tracking while moving diagonally inward and lowering to face height until Suriyeong fills the frame.",
            "visual_focus": "Suriyeong pedaling the bicycle through the heavy rain"
          },
          {
            "camera_motion": "track",
            "camera_position": "At Suriyeong's face height, directly ahead and slightly off the bicycle's forward axis, within close-up distance while matching speed",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's rain-soaked face, tightly bitten lips, and fixed forward gaze"
          }
        ],
        "flow_summary": "먹구름과 번개가 드러나는 해안가의 넓은 시야에서 도로로 내려와 자전거를 탄 수리영과 나란히 달린다. 이후 진행 속도를 유지한 채 얼굴 앞으로 좁혀 들어가 결연한 표정을 클로즈업한다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just inside the living-room entrance at chest height, 3 to 4 meters from the far side of the room, facing across the full room",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Continue forward across the living room and angle toward the bedroom doorway.",
            "visual_focus": "The open drawers, fallen dining chairs, and overall disarray of the living room"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving from the center of the living room at shoulder height to a position 1 meter outside the bedroom doorway",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Pass the doorway line and pivot toward the wall as 수리영 looks inside.",
            "visual_focus": "수리영 approaching the bedroom doorway and directing her gaze into the room"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the bedroom at eye level, moving from 2 meters away to within arm's reach of the wall",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "Cut from the photograph on the wall to a frame-filling view of the moment depicted in it.",
            "visual_focus": "The large red circle on the wall and the old photograph fixed at its center"
          },
          {
            "camera_motion": "cut",
            "camera_position": "At a frontal close distance from the depicted scene, with the viewing axis perpendicular to the image plane",
            "stage_index": 4,
            "stage_label": "memory_insert",
            "transition_to_next": "Cut back to the bedroom on the wall axis, then begin pulling away with 수리영.",
            "visual_focus": "The rural restaurant, its round roof sign, and the two young girls seated in front"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Inside the bedroom at shoulder height, beginning near the wall and retreating to 1.5 meters from the bed while facing 수리영",
            "stage_index": 5,
            "stage_label": "reaction_withdraw",
            "transition_to_next": "Continue backing through the bedroom doorway, then lower alongside 수리영's hand as she crosses the living room toward the entrance.",
            "visual_focus": "수리영 removing the photograph, sitting on the bed, surveying the room, and preparing to leave"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside 수리영 at hand height and within 30 centimeters of her clenched hand, moving with her toward the entrance",
            "stage_index": 6,
            "stage_label": "exit_detail",
            "transition_to_next": "",
            "visual_focus": "The clenched hand holding the crumpled old photograph as 수리영 leaves"
          }
        ],
        "flow_summary": "카메라는 현관 안쪽에서 난장판이 된 거실을 가로질러 수리영의 방과 벽의 붉은 원으로 접근한 뒤, 사진 속 기억으로 논리적 컷을 한다. 다시 방으로 돌아와 수리영과 함께 후퇴하며 거실을 지나고, 사진을 움켜쥔 손 높이로 내려가 현관까지 동행한다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "The forward move briefly settles into a wide view that holds the full living-room disarray.",
            "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": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At seated eye level, four meters in front of Suriyoung and angled slightly toward the open water",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera rises and tracks with Suriyoung as she leaves the rocks and moves toward the arriving boat.",
            "visual_focus": "Suriyoung's full seated figure against the empty harbor and the water she is watching"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height, two meters behind and slightly beside Suriyoung along her path toward the landing point",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues past Suriyoung's trailing side, then settles perpendicular to the line between her and Inwoo.",
            "visual_focus": "Suriyoung approaching Inwoo as he secures the boat"
          },
          {
            "camera_motion": "static",
            "camera_position": "At chest height, three meters to the side of Inwoo and Suriyoung, perpendicular to their shared axis, with Inwoo nearer the camera",
            "stage_index": 3,
            "stage_label": "confrontation",
            "transition_to_next": "The camera tracks in a shallow arc around Suriyoung's forward side while dollying closer to her eye line.",
            "visual_focus": "Suriyoung standing directly behind Inwoo and watching him as she begins the exchange"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just below Suriyoung's eye level, moving from one and a half meters to close facial distance on her forward side",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "The camera eases back as the conversation resolves, then tracks laterally with Suriyoung toward the boat.",
            "visual_focus": "Suriyoung's face as she looks directly up at Inwoo and pleads for passage"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height, two meters beside Suriyoung as she turns toward the water and then advances to the boat",
            "stage_index": 5,
            "stage_label": "departure",
            "transition_to_next": "",
            "visual_focus": "Suriyoung leaving the message before moving to board the boat"
          }
        ],
        "flow_summary": "카메라는 갯바위에 웅크린 수리영을 정면에서 지켜보다가, 배를 향해 일어선 그녀를 따라 선착장 쪽으로 이동한다. 인우와 마주한 측면 축에서 수리영의 얼굴로 파고든 뒤, 대화가 끝나면 다시 물러나 그녀의 출발 동선을 따라간다.",
        "scene_index": 26,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "Frame Suriyoung in clear profile while keeping Inwoo's back in the nearer plane.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 3
          },
          {
            "deviation_note": "Complete the dolly-in at a facial close-up, preserving Suriyoung's upward eye line toward Inwoo.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At eye level near one side of the room, at a wide distance from Hyesu and the detective",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Dolly forward across the room while narrowing the viewing angle toward Hyesu.",
            "visual_focus": "Hyesu and the detective standing within the disordered room"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Hyesu's upper-body height, a medium distance directly in front of her",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Continue the forward move into an extreme close distance, then slide laterally toward the detective.",
            "visual_focus": "Hyesu standing rigid with the phone held to her ear"
          },
          {
            "camera_motion": "track",
            "camera_position": "At face height and close distance, moving laterally from Hyesu's eyeline toward the detective's side",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "Ease backward slightly and pan away from the detective toward the entrance.",
            "visual_focus": "Hyesu's fixed gaze followed by the detective's turned profile"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At eye level near the two characters, oriented across the room toward the entrance",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "Pivot back toward the room and dolly backward until both characters and the surrounding space share the frame.",
            "visual_focus": "The half-open entrance door moving in the wind"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At eye level near the room entrance, retreating to a wide distance from Hyesu and the detective",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Hyesu and the detective standing motionless amid the scattered objects in the empty room"
          }
        ],
        "flow_summary": "카메라는 방 안의 두 사람을 넓게 확인한 뒤 혜수에게 다가가고, 시선을 김형사와 흔들리는 현관문으로 옮긴다. 마지막에는 다시 뒤로 물러나 두 사람과 텅 빈 거실을 하나의 넓은 구도로 묶는다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "Frame Hyesu from the upper torso upward while retaining the phone at her ear.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the final wide distance after the backward movement settles.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "High above the sea at a great distance from the small fishing boat, facing it in a wide view",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "A hard cut jumps from the distant exterior view to a deck-level position near the seated figures.",
            "visual_focus": "The small fishing boat surrounded by the sunset-reflecting sea"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At seated eye level on the deck, several feet lateral to Inwoo and Suriyoung, looking across their shared interaction axis",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The dolly continues toward Inwoo and shifts slightly into a three-quarter frontal angle as his attention moves from the photograph to Suriyoung.",
            "visual_focus": "Suriyoung presenting the map and photograph to Inwoo"
          },
          {
            "camera_motion": "static",
            "camera_position": "At Inwoo's eye level and within close-up distance, positioned slightly off his frontal axis",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "As Inwoo rises abruptly, the camera widens its distance and begins tracking beside and behind him toward the wheelhouse.",
            "visual_focus": "Inwoo's face as he realizes that Suriyoung has recognized his knowledge"
          },
          {
            "camera_motion": "track",
            "camera_position": "At upper-torso height a few feet behind and to the side of Inwoo, moving with him from the deck toward and into the wheelhouse",
            "stage_index": 4,
            "stage_label": "pursuit",
            "transition_to_next": "The camera follows across the doorway, closes on the control position, and lowers its gaze from Inwoo's torso to his hands.",
            "visual_focus": "Inwoo rushing for the wheelhouse controls with Suriyoung following"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At wheel height inside the wheelhouse, within close-up distance and angled across Inwoo's forearms toward the wheel",
            "stage_index": 5,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Inwoo's hands gripping the wheel"
          }
        ],
        "flow_summary": "바다 위 어선을 먼 거리에서 제시한 뒤 갑판으로 컷해, 지도와 사진을 둘러싼 대화를 따라 인우의 얼굴까지 점진적으로 접근한다. 인우가 돌변해 조타실로 달려가면 카메라도 함께 추적해 들어가 타륜을 움켜쥔 두 손에서 이동을 끝낸다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "Use the widest framing in the flow to include the sunset reflection across the surrounding sea.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten to an extreme facial close-up while retaining the same frontal-axis relationship.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten the frame around both hands and forearms as they clamp down on the wheel.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At eye level, centered directly in front of 인우 at close-up distance",
            "stage_index": 1,
            "stage_label": "shock_observation",
            "transition_to_next": "The camera begins a close lateral track around 인우, moving from his front to a position behind one shoulder.",
            "visual_focus": "인우's shocked face as he processes the name"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye level and close behind 인우's shoulder, looking past him toward the wall",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "From the over-shoulder position, the camera pans away from the wall and across 인우 toward 수리영.",
            "visual_focus": "The numerous red circular forms on the wall beyond 인우"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At eye level behind and slightly beside 인우, with 수리영 framed at close distance beyond him",
            "stage_index": 3,
            "stage_label": "faltering_reaction",
            "transition_to_next": "As 수리영 falls forward, the camera makes a short lateral move to a side position and settles once her head reaches 인우's shoulder.",
            "visual_focus": "수리영 losing focus and folding forward toward 인우"
          },
          {
            "camera_motion": "static",
            "camera_position": "At eye level beside both figures at medium-close distance, perpendicular to 수리영's collapsed posture",
            "stage_index": 4,
            "stage_label": "collapse_resolution",
            "transition_to_next": "",
            "visual_focus": "수리영's closed-eyed head fully resting across 인우's shoulder"
          }
        ],
        "flow_summary": "카메라는 충격에 빠진 인우의 정면에서 시작해 그의 어깨 뒤로 돌아가 벽면의 붉은 원들을 드러낸다. 이어 같은 축에서 수리영에게 시선을 돌리고 측면으로 옮겨, 그녀가 인우의 어깨에 쓰러진 상태에서 멈춘다.",
        "scene_index": 29,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 1
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "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": 9,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "High above the sea and far behind the small fishing boat, aligned with its course toward the fog bank",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera descends and advances along the boat's course, closing the distance while shifting toward its forward quarter.",
            "visual_focus": "The small fishing boat moving across the sea toward the broad fog bank"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low above the sea, a short distance ahead of and slightly beside the bow, facing back across the bow toward the fog boundary",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera tracks backward with the boat until the bow reaches the fog boundary, then slows as the boat continues forward.",
            "visual_focus": "The bow closing the final gap and touching the surface of the dense fog bank"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low above the sea beside the boat's course, remaining just outside the fog bank at a medium distance",
            "stage_index": 3,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "The boat progressively disappearing into the fog"
          }
        ],
        "flow_summary": "카메라는 바다 위 높은 후방의 넓은 위치에서 어선을 따라 내려오며 안개 띠를 향한 접근을 좁혀 간다. 뱃머리가 안개에 맞닿는 순간 낮은 전방 측면에서 동행한 뒤 멈춰, 배가 계속 안으로 사라지는 흐름을 지켜본다.",
        "scene_index": 30,
        "shot_assignments": [
          {
            "deviation_note": "Use a tighter foreground framing on the bow at the exact instant it meets the fog boundary.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "fc93bdc9-2cae-4c9c-98eb-ec71baaa8e7e",
  "resolved_model": "gpt",
  "updated_at": "2026-07-20T07:53:29.310217+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}