{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At ankle height, 1 meter behind and slightly to the side of the running man",
            "stage_index": 1,
            "stage_label": "ground_pursuit",
            "transition_to_next": "The camera rises and advances along the man's side from ankle height toward his injured thigh while maintaining forward movement.",
            "visual_focus": "The man's bare foot and remaining shoe as he runs across the forest floor"
          },
          {
            "camera_motion": "track",
            "camera_position": "At upper-leg height, 0.6 meters beside the running man",
            "stage_index": 2,
            "stage_label": "injury_observation",
            "transition_to_next": "The camera continues rising along the man's body, arcs ahead of him, and turns to face him while tracking backward.",
            "visual_focus": "The large bite mark and blood on the man's thigh"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye level, 0.7 meters directly in front of the man, moving backward along his path",
            "stage_index": 3,
            "stage_label": "fear_close_observation",
            "transition_to_next": "A hard cut relocates the camera to a wider side position as the man reaches the ground and the attacker enters above him.",
            "visual_focus": "The man's wide eyes and terrified face"
          },
          {
            "camera_motion": "cut",
            "camera_position": "At waist height, 4 meters to the side of the fallen man, framing the space above and around his body",
            "stage_index": 4,
            "stage_label": "attack_reveal",
            "transition_to_next": "",
            "visual_focus": "The airborne black silhouette reaching toward the fallen man"
          }
        ],
        "flow_summary": "카메라는 도망치는 남자의 발에서 출발해 부상당한 허벅지를 따라 상승한 뒤, 그의 앞을 역행하며 공포에 질린 얼굴까지 접근한다. 습격 순간에는 명확한 컷으로 측면의 넓은 위치로 전환해 쓰러진 남자에게 덮쳐드는 검은 인영을 드러낸다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Time the frame to the instant when the attacker is fully airborne with both arms extended toward the man.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "At eye level several meters down the alley, facing the attacker and the woman beside the utility pole",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Continue the forward push until the framing closes around the attacker's head and the woman's upper body.",
            "visual_focus": "The attacker pressing the woman against the utility pole beneath the faint streetlight"
          },
          {
            "camera_motion": "track",
            "camera_position": "At head height within close range of the pair, positioned in front of the attacker and slightly off the attacker's eyeline",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Track laterally around the pair and lower slightly to arrive at a side angle on the woman's neck.",
            "visual_focus": "The attacker's red eyes as the distance to the woman closes"
          },
          {
            "camera_motion": "track",
            "camera_position": "At neck height less than one meter from the pair, positioned perpendicular to the side of the attacker's face and the woman's neck",
            "stage_index": 3,
            "stage_label": "impact",
            "transition_to_next": "Continue downward and backward from neck height, following the woman as her body loses support and falls.",
            "visual_focus": "The attacker's teeth biting into and tearing at the woman's neck"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At a low height near the fallen woman's body, retreating to include her full position beside the utility pole",
            "stage_index": 4,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "The woman lying motionless after collapsing"
          }
        ],
        "flow_summary": "카메라는 골목 안쪽에서 전봇대에 뒤엉킨 두 사람을 향해 전진한 뒤, 습격자의 눈에서 목을 무는 측면으로 돌아 내려간다. 이어 쓰러지는 여자를 따라 낮아지고 뒤로 빠지며 사건의 결과를 드러낸다.",
        "scene_index": 2,
        "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": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At eye level outside the scene boundary, at a wide distance from the police activity",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Crane upward and advance over the boundary toward the stretcher, progressively steepening the viewing angle.",
            "visual_focus": "The police holding the boundary and the broader investigation activity"
          },
          {
            "camera_motion": "crane",
            "camera_position": "High above and slightly to one side of the stretcher, at close-to-medium distance with a steep downward angle",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Descend from the overhead angle and track laterally toward the group of detectives, leveling at upper-body height.",
            "visual_focus": "The covered body on the stretcher"
          },
          {
            "camera_motion": "track",
            "camera_position": "At upper-body height near the detectives, at medium distance and facing into the group",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "Hyesu positioned among the detectives"
          }
        ],
        "flow_summary": "현장 경계 바깥의 넓은 시야에서 시작해 들것 위로 상승하며 시신을 내려다본 뒤, 다시 낮아져 형사들 사이의 혜수에게 이동한다. 하나의 전진·상승·측면 이동으로 현장 전경에서 사건의 핵심과 지휘 인물까지 연속적으로 좁혀 간다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "High above the outskirts, looking steeply downward from a wide distance",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera descends and advances toward the villa while maintaining the downward viewing angle.",
            "visual_focus": "The outskirts surrounding the villa"
          },
          {
            "camera_motion": "crane",
            "camera_position": "Above the villa at a lower altitude, looking down toward the rooftop room in a wide framing",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "",
            "visual_focus": "The rooftop room and the villa beneath it"
          }
        ],
        "flow_summary": "카메라는 인천 변두리 상공의 넓은 부감에서 시작해 빌라 쪽으로 하강하며 접근하고, 옥탑방 전경을 내려다보는 구도에 자리 잡는다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "",
            "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 inside the living area, moving laterally from the faucet toward the stove at close range",
            "stage_index": 1,
            "stage_label": "domestic_establishing",
            "transition_to_next": "Continue the lateral move, then pan away from the counter toward 민숙.",
            "visual_focus": "The running water, the partly washed herbs, and the boiling pot in sequence"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At upper-body height several feet from 민숙, facing her from within the living area",
            "stage_index": 2,
            "stage_label": "tense_observation",
            "transition_to_next": "Track backward and widen as 수리영 enters, preserving the shared room axis.",
            "visual_focus": "민숙 watching the television, followed by her quick reaction to 수리영"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside the table at seated eye level, maintaining a medium distance from 민숙 and 수리영",
            "stage_index": 3,
            "stage_label": "shared_interaction",
            "transition_to_next": "Cut across the elapsed action to a new position near the entrance.",
            "visual_focus": "민숙 and 수리영 during their conversation and the poured drink"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Inside the entrance area at waist height, positioned behind and slightly to one side of 수리영",
            "stage_index": 4,
            "stage_label": "entrance_transition",
            "transition_to_next": "Arc around 수리영 while moving closer until both women are seen in side profile.",
            "visual_focus": "수리영 putting on her shoes and turning toward 민숙"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At shoulder height beside 민숙 and 수리영, close enough to frame their side profiles and upper bodies",
            "stage_index": 5,
            "stage_label": "affectionate_approach",
            "transition_to_next": "Tilt and push downward from their faces toward 민숙's wrist.",
            "visual_focus": "수리영 closing her eyes and pressing her nose into 민숙's shoulder"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Immediately beside 민숙's forearm at wrist height and extreme close range",
            "stage_index": 6,
            "stage_label": "mark_reveal",
            "transition_to_next": "",
            "visual_focus": "The small circular mark on 민숙's wrist"
          }
        ],
        "flow_summary": "카메라는 싱크대와 냄비에서 시작해 민숙과 수리영의 대화를 따라 거실을 이동한 뒤, 명시적인 시간 경과 컷으로 현관 쪽에 자리 잡는다. 이후 두 사람의 다정한 접촉으로 다가가고, 시선을 민숙의 손목까지 낮추며 표식을 클로즈업한다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "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 standing eye level beside the road, several body lengths from 수리영, moving parallel to her path in a wide lateral alignment",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Accelerate into a matched parallel track and reduce the lateral distance until 수리영 fills the frame from head to toe.",
            "visual_focus": "수리영 riding forward along the coastal road"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist-to-chest height beside 수리영, one full-body framing distance away, maintaining a perpendicular side angle to her direction of travel",
            "stage_index": 2,
            "stage_label": "side_tracking",
            "transition_to_next": "Continue tracking at her speed while moving closer and rising toward her head level.",
            "visual_focus": "수리영's full-body pedaling action and forward movement"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At head height beside 수리영, within close side-profile distance while continuing along her direction of travel",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "수리영's side profile and the earphone in her ear"
          }
        ],
        "flow_summary": "카메라는 도로 옆에서 수리영의 주행에 맞춰 평행 이동하며 넓은 측면 구도에서 전신 페달 동작으로 접근한다. 이후 속도를 유지한 채 얼굴 높이까지 가까워져 이어폰을 낀 옆얼굴을 관찰한다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Maintain enough lateral distance to preserve 수리영's entire body and the coastal road behind her while emphasizing her hair trailing backward.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Outside the enclosure at the Rottweiler's head height, beginning several meters back and advancing toward the boundary on the dog's frontal axis",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Cut across the boundary to the reverse axis, placing the camera on the dog's side and facing Su-ri-young.",
            "visual_focus": "The aggressive Rottweiler confronting the enclosure boundary"
          },
          {
            "camera_motion": "static",
            "camera_position": "On the dog's side of the enclosure boundary at Su-ri-young's eye height, close to the boundary and directly facing her from a tight portrait distance",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Track laterally along the same side of the boundary from Su-ri-young's eyeline toward the dog's flank and the approaching doctor.",
            "visual_focus": "Su-ri-young's frontal face holding an unwavering stare through the boundary"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside the enclosure at the dog's body height, moving from its head toward its hindquarters while remaining within close action distance",
            "stage_index": 3,
            "stage_label": "treatment",
            "transition_to_next": "Cut to the outer side of the enclosure after the injection and reposition perpendicular to Su-ri-young as she steps away to make the call.",
            "visual_focus": "The Rottweiler settling, the doctor administering the injection, and the exchange with Su-ri-young"
          },
          {
            "camera_motion": "static",
            "camera_position": "At Su-ri-young's head height, one to two meters from her side and perpendicular to her line of sight, with the enclosed dogs positioned behind her",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "Begin tracking with Su-ri-young as she lowers the phone and moves toward the shelter helper and the next dog.",
            "visual_focus": "Su-ri-young's side profile as she listens for an answer on the phone and reacts to the unanswered call"
          },
          {
            "camera_motion": "track",
            "camera_position": "At upper-body height beside Su-ri-young, maintaining a close following distance as she moves between the dogs requiring care",
            "stage_index": 5,
            "stage_label": "work_transition",
            "transition_to_next": "",
            "visual_focus": "Su-ri-young joining the shelter work and tending to the dogs"
          }
        ],
        "flow_summary": "카메라는 날뛰는 로트와일러에게 접근한 뒤 경계선 너머의 역축으로 전환해 수리영의 응시를 포착하고, 개의 몸을 따라 의사의 처치까지 이동한다. 이후 수리영의 측면으로 컷해 통화 반응을 지켜본 다음, 휴대폰을 내리고 보호원 일을 시작하는 그녀를 따라간다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "Tighten to a frontal facial close-up while retaining the enclosure boundary between the camera and Su-ri-young.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Frame tightly enough to emphasize the phone at her ear and her furrowed brow while keeping the enclosed dogs behind her.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At waist height several meters ahead of 수리영, moving backward along her route toward the supermarket entrance",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera continues backward toward the entrance, then rises to chest height as 수리영 stops and goes inside.",
            "visual_focus": "수리영 riding through the busy street toward the supermarket"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height inside the supermarket entrance, one to two meters ahead of 수리영 and facing back toward her",
            "stage_index": 2,
            "stage_label": "search",
            "transition_to_next": "The camera arcs with 수리영 as she approaches the employees, settling beside the line of their conversation.",
            "visual_focus": "수리영 looking around for her mother and approaching the female employee"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At shoulder height beside the conversation axis, at a medium distance from 수리영 and the employees",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "The camera pans from the male employee to 수리영, then begins a short push toward her profile.",
            "visual_focus": "The male employee arriving with a box and telling 수리영 that he saw her mother outside with someone"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At eye level beside 수리영, perpendicular to her eyeline toward the male employee, moving from a medium close distance to a close profile distance",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "Cut as 수리영 turns to leave, jumping from her interior profile to a position outside the automatic doors.",
            "visual_focus": "수리영's widened-eyed profile while she faces the male employee"
          },
          {
            "camera_motion": "static",
            "camera_position": "At chest height outside the automatic doors, a medium-close distance in front of 수리영",
            "stage_index": 5,
            "stage_label": "exit_call",
            "transition_to_next": "",
            "visual_focus": "수리영 holding a phone to her ear after leaving the supermarket"
          }
        ],
        "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": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At chest height, approximately eight meters ahead of Suriyoung and offset toward the roadside, facing diagonally back along her path",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera arcs from the forward three-quarter position into a parallel side path while reducing the distance to Suriyoung.",
            "visual_focus": "Suriyoung riding quickly along the coastal road"
          },
          {
            "camera_motion": "track",
            "camera_position": "At hip height, approximately four meters beside Suriyoung, moving parallel to her path in a side-on view",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera gradually decelerates toward a stationary roadside position as Suriyoung passes, then pivots to retain her in frame.",
            "visual_focus": "Suriyoung's bent riding posture, forceful pedal stroke, and silhouette against the dark coastal road"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At chest height near the roadside, behind Suriyoung's advancing position and looking down her direction of travel",
            "stage_index": 3,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyoung continuing rapidly away along the coastal road"
          }
        ],
        "flow_summary": "카메라는 수리영의 전방 사선에서 함께 이동하다가 측면으로 좁혀 들어가 강한 페달 동작을 포착한다. 이후 속도를 늦춰 수리영을 통과시키고, 뒤에서 이동 방향을 따라 시선을 돌린다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "at platform height on the rooftop, moving laterally from the platform toward the approaching feet",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Continue tracking alongside the feet, then arc behind the stranger as he crosses toward the doorway.",
            "visual_focus": "the dried leaves crossing the rooftop and brushing the stranger's shoes"
          },
          {
            "camera_motion": "track",
            "camera_position": "at shin height behind and slightly to one side of the stranger, maintaining a medium distance toward the doorway",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Close the distance along the stranger's path and settle beside the door gap at hand height.",
            "visual_focus": "the stranger's lower body, elongated shadow, and movement toward the entrance"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "beside the doorway at hand height, close to the gap and angled across the stranger's hand",
            "stage_index": 3,
            "stage_label": "entry_detail",
            "transition_to_next": "Advance with the opening door and shift behind the stranger at the threshold.",
            "visual_focus": "the flyer being removed and pressed into the door gap"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "immediately behind the stranger at shoulder height, advancing from the threshold into the room",
            "stage_index": 4,
            "stage_label": "entry",
            "transition_to_next": "Cut from the threshold viewpoint to an exterior position directly facing the window.",
            "visual_focus": "the narrow opening and the stranger entering the room"
          },
          {
            "camera_motion": "static",
            "camera_position": "outside the room at window height, directly facing the window from a medium distance",
            "stage_index": 5,
            "stage_label": "shadow_reveal",
            "transition_to_next": "",
            "visual_focus": "the reflected silhouettes as the attacker lunges onto the victim and bites the victim's shoulder"
          }
        ],
        "flow_summary": "카메라는 옥상 평상 가까이에서 낯선 남자의 발을 따라 현관까지 낮게 이동한 뒤, 문을 여는 손과 진입 동선을 밀착해 좇는다. 남자가 방 안으로 들어가는 순간 창문 정면으로 논리적 컷해, 민숙을 덮치는 실루엣을 반사상으로 드러낸다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "Hold the window framing while the silhouettes create the motion, emphasizing the exact instant of the shoulder bite.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At waist height several feet behind Suri-young, moving from the courtyard toward the base of the stairs",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera follows her onto the stairs, advances past her position, and turns to face back down toward her.",
            "visual_focus": "Suri-young leaving the bicycle and rushing toward the rooftop stairs"
          },
          {
            "camera_motion": "static",
            "camera_position": "One to two steps above Suri-young at face height and close distance, facing down the stairs toward her",
            "stage_index": 2,
            "stage_label": "reaction",
            "transition_to_next": "Cut on Suri-young's upward look to her eye-level viewpoint facing the rooftop-room entrance.",
            "visual_focus": "Suri-young stopping mid-stair and covering her nose with one hand"
          },
          {
            "camera_motion": "cut",
            "camera_position": "At Suri-young's eye height near the top of the stairs, facing directly toward the rooftop-room entrance from a short distance",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The half-open rooftop-room entrance door"
          }
        ],
        "flow_summary": "카메라는 마당에서 수리영을 따라 계단으로 진입한 뒤 그녀보다 앞서 올라가 정면의 냄새 반응을 포착한다. 이어 수리영의 시선 방향으로 컷해 반쯤 열린 옥탑방 현관문을 드러낸다.",
        "scene_index": 11,
        "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": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At eye level just inside the living room entrance, several meters behind Suriyoung",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Follow Suriyoung across the living room and continue through the doorway into Min-sook's room.",
            "visual_focus": "Suriyoung searching the living room and moving toward Min-sook's room"
          },
          {
            "camera_motion": "static",
            "camera_position": "At eye level in the doorway of Min-sook's room, facing into the room from a medium distance",
            "stage_index": 2,
            "stage_label": "empty_room_check",
            "transition_to_next": "Back through the doorway, pivot with Suriyoung, and track toward the doorway of her room.",
            "visual_focus": "Suriyoung confirming that Min-sook is absent"
          },
          {
            "camera_motion": "track",
            "camera_position": "Near floor height inside Suriyoung's doorway, moving forward behind and beside the bloodied footprints",
            "stage_index": 3,
            "stage_label": "approach",
            "transition_to_next": "Rise toward seated-torso height and move past the opened curtain to face Min-sook at close range.",
            "visual_focus": "The blood on the floor, the footprints leading to the curtain, and Suriyoung opening it"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At seated-torso height directly in front of Min-sook, close enough to isolate her upper body",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "Tilt and track downward along Min-sook's arm until the camera reaches her closed hand.",
            "visual_focus": "Min-sook's lowered upper body and the torn wounds around her shoulder and collarbone"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just above floor height beside Min-sook's hand, at extreme close range and angled down toward her palm",
            "stage_index": 5,
            "stage_label": "evidence_reveal",
            "transition_to_next": "Shift from the photograph to Min-sook's wrist, then tilt upward toward the wall above the bed and settle into a fixed frame.",
            "visual_focus": "The crumpled photograph held inside Min-sook's rigid hand, followed by the changing mark on her wrist"
          },
          {
            "camera_motion": "static",
            "camera_position": "At bed height facing the wall above the bed from a short distance",
            "stage_index": 6,
            "stage_label": "symbol_reveal",
            "transition_to_next": "",
            "visual_focus": "The red circular mark appearing 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": 6,
            "stage_index": 4
          },
          {
            "deviation_note": "The frame tightens specifically on the photograph while retaining the stage's low viewing angle.",
            "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": 12,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At full-body distance beside the exterior stairs, descending from an elevated angle toward eye level while remaining parallel to Suriyoung",
            "stage_index": 1,
            "stage_label": "descent",
            "transition_to_next": "Continue downward and move ahead of Suriyoung, settling at eye level as she reaches the lower area and stops.",
            "visual_focus": "Suriyoung rushing down the stairs and coming to a halt"
          },
          {
            "camera_motion": "static",
            "camera_position": "At eye level and medium-close distance directly in front of Suriyoung near the base of the stairs",
            "stage_index": 2,
            "stage_label": "stunned_observation",
            "transition_to_next": "Track laterally away from Suriyoung's frontal axis to open the frame toward Hyesu's approach, then arc into their shared dialogue line.",
            "visual_focus": "Suriyoung's motionless upper body and unfocused face"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye level and medium distance beside the path between Hyesu and Suriyoung, ending slightly off their shared axis",
            "stage_index": 3,
            "stage_label": "approach",
            "transition_to_next": "Advance past Suriyoung's near shoulder and tighten toward Hyesu as her forward movement stops at the revelation.",
            "visual_focus": "Hyesu running to Suriyoung and the exchange between them"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just beyond Suriyoung's shoulder at Hyesu's eye level, advancing from conversational distance to face-close distance",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "Pull away from Hyesu's face and track around the pair to arrive behind Hyesu and Detective Kim as they turn toward the stairs.",
            "visual_focus": "Hyesu's face freezing in shock"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind Hyesu and Detective Kim at full-body distance and slightly below their shoulder level, aligned toward the exterior stairs",
            "stage_index": 5,
            "stage_label": "urgent_ascent",
            "transition_to_next": "",
            "visual_focus": "Hyesu and Detective Kim running up the stairs"
          }
        ],
        "flow_summary": "카메라는 계단을 내려오는 수리영을 따라 지상 높이까지 이동한 뒤 멍하니 멈춘 모습을 정면에서 붙잡는다. 이어 혜수의 접근과 대화를 따라 측면으로 흐르고 충격받은 얼굴까지 밀착한 다음, 두 형사의 뒤로 돌아 계단을 오르는 움직임을 추적한다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "Frame specifically at upper-body scale, with the red police beacon light falling across Suriyoung.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "End the forward move on Hyesu's widened eyes and half-open mouth.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At chest height just inside the entrance, several meters from the room, moving behind and slightly to the side of the group",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Follow 수리영 forward through the doorway and enter the room behind her.",
            "visual_focus": "김형사 and 혜수 checking the interior, then 수리영 directing her attention toward the room"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At chest height inside the room, advancing from the doorway to a medium-wide viewing distance from the bed and adjacent wall",
            "stage_index": 2,
            "stage_label": "room_reveal",
            "transition_to_next": "Continue forward, then shift laterally toward 수리영's eyeline as she looks toward the window curtain.",
            "visual_focus": "The excessively orderly bed and wall with no bloodstain or red marking"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye level beside 수리영, moving from a medium distance to close facial range while remaining offset from her line of sight toward the window",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "Pivot with 수리영 and follow her as she rushes out of the room toward the table.",
            "visual_focus": "수리영's frozen, pale face as she stares toward the empty window curtain area"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist-to-chest height a short distance behind 수리영, traveling from the room doorway to the side of the table",
            "stage_index": 4,
            "stage_label": "search_continuation",
            "transition_to_next": "Settle beside the table, then rotate toward 김형사 and 혜수 as the confrontation begins.",
            "visual_focus": "수리영 reaching the clean table and searching for the missing second teacup"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At chest height beside the table, at medium conversational distance from 수리영, 김형사, and 혜수",
            "stage_index": 5,
            "stage_label": "reaction",
            "transition_to_next": "After 김형사 exits, hold on 혜수 and 수리영, then cut back into the room.",
            "visual_focus": "김형사 confronting 수리영, followed by 혜수 comforting her"
          },
          {
            "camera_motion": "cut",
            "camera_position": "At low height inside the room, several feet from the backpack and doll near the floor",
            "stage_index": 6,
            "stage_label": "final_reveal",
            "transition_to_next": "",
            "visual_focus": "The backpack and doll whose positions differ from before"
          }
        ],
        "flow_summary": "카메라는 현관의 인물들을 따라 수리영의 방으로 진입해 깨끗해진 침대와 벽면을 확인한 뒤, 창가를 바라보는 수리영의 얼굴까지 측면으로 좁혀 들어간다. 이후 수리영을 따라 식탁으로 이동해 대화를 지켜보고, 마지막에는 방 안의 위치가 달라진 물건들로 컷 전환한다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "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": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At standing eye level about 6 meters inland from the bench, facing Suriyeong with the sea beyond her",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Dolly forward on a slight diagonal toward the side of the bench as Hyesu approaches Suriyeong.",
            "visual_focus": "Suriyeong sitting motionless on the bench with her head lowered"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At seated eye level about 2 meters from the bench, on a three-quarter side angle shared by Suriyeong and Hyesu",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Continue into a short arc around the bench and raise the viewing axis as Suriyeong begins to stand.",
            "visual_focus": "Hyesu offering the drink and Suriyeong responding from the bench"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At chest height about 1.5 meters in front of Suriyeong, aligned with the direction of her gaze as she rises",
            "stage_index": 3,
            "stage_label": "resolve",
            "transition_to_next": "Track around Suriyeong's turning side and fall behind her as she moves away from the bench.",
            "visual_focus": "Suriyeong abruptly standing and deciding to leave"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height about 3 meters behind Suriyeong, moving along her departure line toward the coastal road",
            "stage_index": 4,
            "stage_label": "departure",
            "transition_to_next": "Slow the forward track, let Suriyeong increase her distance, then pan back toward Hyesu without changing the camera's roadside position.",
            "visual_focus": "Suriyeong running away from the bench toward the coastal road"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At standing eye level near the roadside, between the bench and Suriyeong's departure path",
            "stage_index": 5,
            "stage_label": "reaction",
            "transition_to_next": "Track backward and sideways until the camera settles behind the nearby structure, preserving a sightline toward both women.",
            "visual_focus": "Hyesu calling toward Suriyeong's back as the distance between them grows"
          },
          {
            "camera_motion": "static",
            "camera_position": "At standing eye level behind the nearby structure, several meters from Hyesu and farther from the departing Suriyeong",
            "stage_index": 6,
            "stage_label": "observer_reveal",
            "transition_to_next": "",
            "visual_focus": "Hyesu and the receding Suriyeong viewed together from a concealed, distant position"
          }
        ],
        "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": "Hold the tracking distance briefly to isolate Suriyeong's rear silhouette at the suspended mid-stride moment.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Just inside the office doorway at chest height, approximately 1.5 meters in front of Hyesu, facing back toward her as she enters",
            "stage_index": 1,
            "stage_label": "entrance_tracking",
            "transition_to_next": "The camera retreats with Hyesu into the office, then arcs toward the side of the desk as her attention shifts to Kim.",
            "visual_focus": "Hyesu entering with the phone held to her ear"
          },
          {
            "camera_motion": "track",
            "camera_position": "At the side of the desk at the seated Kim's eye height, approximately 1.2 meters from him and offset from Hyesu's approach path",
            "stage_index": 2,
            "stage_label": "desk_confrontation",
            "transition_to_next": "The camera slides closer to Kim's position, redirects upward toward Hyesu, and begins a controlled push toward her face.",
            "visual_focus": "Kim, then the phone Hyesu presents between them"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Beside the seated Kim at his eye height, approximately 0.6 meters from Hyesu and angled upward toward her face",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu's firm expression as she looks down at Kim"
          }
        ],
        "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": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "At a high wide position outside the rooftop room, facing the room and its lit window from a distance",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Crane downward and move closer toward the wall, rotating into a side-on view of the cat and the rooftop room window.",
            "visual_focus": "The rooftop room and its lit window at dawn"
          },
          {
            "camera_motion": "track",
            "camera_position": "At the cat's body height beside the wall, at a medium distance and perpendicular to the cat's profile",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Continue tracking laterally with the cat as it shifts forward and crosses the wall.",
            "visual_focus": "The full side profile of the black cat standing on the wall and staring at the lit rooftop room window"
          },
          {
            "camera_motion": "track",
            "camera_position": "At the cat's body height beside the wall, moving parallel to the cat's path toward the far side",
            "stage_index": 3,
            "stage_label": "transition",
            "transition_to_next": "",
            "visual_focus": "The black cat moving over the wall toward the rooftop room side"
          }
        ],
        "flow_summary": "카메라는 옥탑방과 불 켜진 창문을 멀리서 잡은 뒤 담장 높이로 내려가, 창문을 응시하는 검은 고양이의 측면에 정렬한다. 이어 고양이가 담을 넘는 방향을 따라 측면으로 이동한다.",
        "scene_index": 17,
        "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 Suri-young's seated eye level, moving from 1.8 meters to 0.9 meters directly in front of her at the edge of the bed",
            "stage_index": 1,
            "stage_label": "awakening",
            "transition_to_next": "The camera eases backward as Suri-young rises, then tracks with her toward the closed door.",
            "visual_focus": "Suri-young waking abruptly and listening for any sign of her mother"
          },
          {
            "camera_motion": "track",
            "camera_position": "At shoulder height, 1.5 meters behind Suri-young and centered on her line toward the closed door",
            "stage_index": 2,
            "stage_label": "threshold",
            "transition_to_next": "A hard cut follows Suri-young's fixed eyeline into the flashback.",
            "visual_focus": "Suri-young hesitating before the closed door"
          },
          {
            "camera_motion": "cut",
            "camera_position": "At waist height, less than 1 meter from the area behind the curtain",
            "stage_index": 3,
            "stage_label": "flashback",
            "transition_to_next": "A hard cut returns to Suri-young at the door on the same axis of attention.",
            "visual_focus": "The remembered image of her mother behind the curtain, including the wound and blood"
          },
          {
            "camera_motion": "track",
            "camera_position": "At chest height, 1.5 meters beside and slightly behind Suri-young as she enters the room and moves between the window, the ringing phone, and her backpack",
            "stage_index": 4,
            "stage_label": "search_and_departure",
            "transition_to_next": "Cut to the bathroom, matching Suri-young's forward movement as she approaches the mirror.",
            "visual_focus": "Suri-young confirming the window area is empty, answering the phone, and preparing to leave"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Suri-young's shoulder height, moving from 1.5 meters behind her to 0.8 meters behind and slightly to one side of the mirror axis",
            "stage_index": 5,
            "stage_label": "mirror_observation",
            "transition_to_next": "The camera stops behind her shoulder and shifts its framing deeper into the mirror reflection.",
            "visual_focus": "Suri-young studying her reflected face after washing"
          },
          {
            "camera_motion": "static",
            "camera_position": "At shoulder height, 0.7 meters behind Suri-young and offset to preserve both her shoulder and the reflected wall in frame",
            "stage_index": 6,
            "stage_label": "mark_reveal",
            "transition_to_next": "As Suri-young turns and rushes out, the scene cuts ahead to table height in the living room.",
            "visual_focus": "The red circular mark appearing on the wall within the mirror reflection"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At table height, moving from 0.8 meters to 0.25 meters in front of the framed photograph",
            "stage_index": 7,
            "stage_label": "photo_distortion",
            "transition_to_next": "The camera pulls its attention away from the photograph with a sharp cut to Suri-young's reaction.",
            "visual_focus": "The mother's smiling face in the photograph distorting and flowing downward"
          },
          {
            "camera_motion": "static",
            "camera_position": "At chest height, 1 meter directly in front of Suri-young in the living room",
            "stage_index": 8,
            "stage_label": "self_recovery",
            "transition_to_next": "",
            "visual_focus": "Suri-young recoiling, recognizing that the photograph is normal, and trying to regain control"
          }
        ],
        "flow_summary": "카메라는 침대 앞에서 깨어나는 수리영에게 접근한 뒤 방문과 회상, 방 안의 확인 동선을 따라가며 불안을 축적한다. 이후 욕실 거울과 거실 사진으로 시선을 연속적으로 좁히고, 마지막에는 수리영의 정면 반응으로 돌아온다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 6
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 7
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Outside the market entrance at waist height, several meters from 수리영, moving parallel to her path toward the entrance",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Continue forward behind and beside 수리영 as she crosses the entrance and enters the aisle area.",
            "visual_focus": "수리영 arriving with the bicycle and entering the market"
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside the aisle area at chest height, one to two meters beside 수리영, advancing along her search path",
            "stage_index": 2,
            "stage_label": "search",
            "transition_to_next": "Slow and arc toward a frontal two-person position when 수리영 finds the male employee.",
            "visual_focus": "수리영 moving through the aisles and searching for the male employee"
          },
          {
            "camera_motion": "static",
            "camera_position": "At eye level beside the aisle, two to three meters from 수리영 and the male employee, with both positions visible across the conversation axis",
            "stage_index": 3,
            "stage_label": "conversation",
            "transition_to_next": "Cut across the spatial boundary from the interior conversation position to the exterior side of the market near the CCTV coverage area.",
            "visual_focus": "수리영 questioning the male employee about the man and the CCTV footage"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Outside the market at 수리영's side, near eye level and about one meter away, angled upward toward the camera position above her",
            "stage_index": 4,
            "stage_label": "cctv_reveal",
            "transition_to_next": "Tilt down from the CCTV direction and shift laterally into a level side-profile position as 수리영 begins the phone call.",
            "visual_focus": "수리영's side profile as she looks up at the exterior CCTV camera"
          },
          {
            "camera_motion": "track",
            "camera_position": "Outside the market at eye level, about one meter beside 수리영, moving briefly into a clean side-profile alignment",
            "stage_index": 5,
            "stage_label": "phone_reaction",
            "transition_to_next": "",
            "visual_focus": "수리영 holding the phone to her ear and staring ahead with a tense expression"
          }
        ],
        "flow_summary": "카메라는 마트 입구에서 수리영을 따라 내부 진열대와 남자 직원과의 대화 지점까지 이동한 뒤, 컷으로 외부 CCTV 확인 위치로 전환한다. CCTV를 향해 시선을 올렸다가 다시 수리영의 눈높이 측면으로 내려와 전화 통화 중 굳어진 반응에 머문다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          },
          {
            "deviation_note": "The lateral move settles into a near-static hold once 수리영's side profile is aligned.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At eye level, a medium distance from the monitor and slightly to its side, framing the upper bodies of the security employee and Hyesu together with the screen",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "Track laterally past Hyesu and shift the viewing axis toward Suriyoung behind her.",
            "visual_focus": "The dark CCTV image and the security employee and Hyesu watching it"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye level beside Hyesu, moving into a frontal medium distance from Suriyoung behind her",
            "stage_index": 2,
            "stage_label": "reaction",
            "transition_to_next": "Continue on a shallow arc around Hyesu until her side and the security employee share the new viewing axis.",
            "visual_focus": "Suriyoung's increasingly anxious reaction as she watches the monitor"
          },
          {
            "camera_motion": "track",
            "camera_position": "At eye level on Hyesu's side, at a medium distance that keeps her and the security employee along the same conversational axis",
            "stage_index": 3,
            "stage_label": "decision",
            "transition_to_next": "",
            "visual_focus": "Hyesu turning toward the security employee to request the CCTV recording"
          }
        ],
        "flow_summary": "카메라는 모니터 옆에서 보안 직원과 혜수의 화면 확인을 함께 담은 뒤, 옆으로 이동해 뒤에 선 수리영의 불안을 정면으로 포착한다. 이어 혜수의 측면을 따라 완만하게 돌아 보안 직원과의 대화 축에 안착한다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At seated eye level across the nearby desk, about 1.8 meters from Suriyoung, framing her upper body with the unoccupied office seats around her",
            "stage_index": 1,
            "stage_label": "isolation",
            "transition_to_next": "Dolly forward toward the desk and raise the camera into a steep downward viewing angle.",
            "visual_focus": "Suriyoung sitting alone in the office"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Above the near edge of the desk at a steep downward angle, approximately 0.8 meters over the desktop",
            "stage_index": 2,
            "stage_label": "discovery",
            "transition_to_next": "Tilt upward from the photographs while lowering and pushing closer until the lens reaches Suriyoung's face level.",
            "visual_focus": "The enlarged photographs spread across the desk and Suriyoung's movement through them"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Suriyoung's eye level, moving from a tight head-and-shoulders distance to a close-up distance directly across the desk",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "Track laterally from Suriyoung toward the nearby computer position, then pivot to face the monitor squarely.",
            "visual_focus": "Suriyoung's widening eyes and shocked face as she looks down at the photographs"
          },
          {
            "camera_motion": "static",
            "camera_position": "Directly in front of the computer monitor at screen-center height and close enough for the displayed coordinates and status to fill the frame",
            "stage_index": 4,
            "stage_label": "information_reveal",
            "transition_to_next": "",
            "visual_focus": "The maritime map, location coordinates, timestamp, and offline status displayed on the monitor"
          }
        ],
        "flow_summary": "카메라는 홀로 남은 수리영의 상체에서 책상 위 사진으로 전진해 시선을 내린 뒤, 충격받은 얼굴까지 밀착한다. 이어 옆으로 이동해 모니터를 정면으로 포착하며 위치추적 결과를 드러낸다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 1
          },
          {
            "deviation_note": "The forward movement settles at its closest point for a locked close-up of her expression.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 3
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At standing eye level, several meters to the side of 수리영 and the bicycle, framing her full body in profile",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As 수리영 begins pedaling, the camera starts moving parallel to her path and closes to a medium distance.",
            "visual_focus": "수리영 preparing to move forward on the bicycle"
          },
          {
            "camera_motion": "track",
            "camera_position": "At torso height, a medium distance beside 수리영, traveling parallel to the bicycle's forward path",
            "stage_index": 2,
            "stage_label": "acceleration",
            "transition_to_next": "",
            "visual_focus": "수리영 leaning forward, gripping the handlebars, and pedaling as the bicycle gains forward motion"
          }
        ],
        "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": "static",
            "camera_position": "At seated shoulder height, approximately one meter to the side of 수리영, framing the upper body in profile with the monitor directly ahead",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera dollies closer and lowers its viewing angle from the profile toward the hands and maps.",
            "visual_focus": "수리영's profile and gaze directed at the map on the monitor"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Beside the desk at chest height, close to 수리영 and angled downward toward the working hands",
            "stage_index": 2,
            "stage_label": "task_detail",
            "transition_to_next": "The camera tracks from the hands toward the open backpack while widening enough to recover the upper body.",
            "visual_focus": "수리영's hands folding the printed maps"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist-to-chest height beside 수리영, offset toward the open backpack at close range",
            "stage_index": 3,
            "stage_label": "completion",
            "transition_to_next": "",
            "visual_focus": "The folded maps moving from 수리영's hands into the open backpack"
          }
        ],
        "flow_summary": "카메라는 수리영의 측면에서 모니터 지도를 확인하는 모습을 관찰한 뒤, 손과 인쇄된 지도로 낮게 접근한다. 이어 접힌 지도의 이동을 따라 백팩 쪽으로 트래킹하며 행동의 완료까지 연결한다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At an elevated eye line beside the coastal road, far ahead of Suriyoung's path, framing a wide view along the direction of travel",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Cut on Suriyoung's forward motion to a lower, parallel position beside the bicycle.",
            "visual_focus": "The rain-covered coastal road and Suriyoung riding toward the camera's field of view"
          },
          {
            "camera_motion": "track",
            "camera_position": "At bicycle height beside Suriyoung, several meters away and moving parallel to her direction of travel",
            "stage_index": 2,
            "stage_label": "pursuit",
            "transition_to_next": "The camera advances alongside the bicycle, curves toward the front three-quarter axis, and closes the distance to Suriyoung's face.",
            "visual_focus": "Suriyoung driving the bicycle forward through the heavy rain"
          },
          {
            "camera_motion": "track",
            "camera_position": "At Suriyoung's face height, close to the front three-quarter axis of the moving bicycle and traveling backward at matching speed",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's rain-soaked face, fixed expression, and forward stare"
          }
        ],
        "flow_summary": "해안가 도로를 넓게 바라보던 카메라는 수리영의 질주에 맞춰 측면으로 붙어 나란히 이동한다. 이어 전방 사선으로 파고들어 같은 속도로 후진하며 수리영의 굳은 얼굴과 시선을 클로즈업한다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At standing eye level near the living-room entrance, moving across the room toward the open bedroom doorway",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera continues forward and settles at the bedroom threshold, redirecting its axis through the open doorway.",
            "visual_focus": "The footprints, overturned chairs, open window, and disturbed room along Suri-young's line of sight"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At eye level just outside the bedroom, aligned through the open doorway toward the far wall",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "The forward move passes through the doorway and closes the distance to the wall as Suri-young approaches the photograph.",
            "visual_focus": "The red circle on the wall and the bloodied photograph fixed at its center"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the bedroom at Suri-young's shoulder height, moving from a medium distance to a close distance beside her viewing axis",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "A direct cut carries the photograph's image into a separate memory view.",
            "visual_focus": "The photograph after Suri-young removes it from the wall and raises it for inspection"
          },
          {
            "camera_motion": "static",
            "camera_position": "Directly in front of the photograph at extreme close distance, with its image filling the frame",
            "stage_index": 4,
            "stage_label": "memory_insert",
            "transition_to_next": "A direct cut returns from the photograph image to the bedroom, matching back to Suri-young holding it.",
            "visual_focus": "The two young Korean girls before the rural restaurant and the circular structure above its roof"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "At seated eye level in front of the bed, withdrawing from a close distance to include more of the bedroom and adjoining interior",
            "stage_index": 5,
            "stage_label": "disorientation",
            "transition_to_next": "The retreat ends, then a cut places the camera behind Suri-young as she moves toward the open front door.",
            "visual_focus": "Suri-young seated with the photograph, then her gaze sweeping across the disturbed home"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind Suri-young at upper-body height, following at a medium distance toward the open front door and stopping before the threshold",
            "stage_index": 6,
            "stage_label": "departure",
            "transition_to_next": "",
            "visual_focus": "Suri-young's back, the backpack, and her hand gripping the crumpled photograph at the open front door"
          }
        ],
        "flow_summary": "카메라는 난장판이 된 거실에서 수리영의 시선을 따라 방으로 진입해 붉은 원과 사진에 접근하고, 사진 속 기억으로 컷인한다. 다시 방으로 돌아와 혼미한 수리영에게서 물러난 뒤, 현관으로 향하는 그녀의 뒤를 따라가며 멈춘다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "Hold briefly at the threshold so the open doorway frames the wall before the approach resumes.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten to an image-filling close-up with no surrounding bedroom visible.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          },
          {
            "deviation_note": "End the tracking move directly behind Suri-young, emphasizing the clenched photograph hand beside her body.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At eye level near the outer edge of the port, at a long distance from the shoreline and the seated figure",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Dolly forward along the port axis until Suriyeong becomes the dominant figure against the sea.",
            "visual_focus": "The empty port, the fog-covered sea, and Suriyeong seated alone in the distance"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At seated shoulder height, several meters directly behind Suriyeong on the rocks",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Cut from behind Suriyeong to a close overhead angle on the phone in her hand.",
            "visual_focus": "Suriyeong's back as she sits facing the fog-covered sea"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Close above Suriyeong's hand, angled down toward the phone",
            "stage_index": 3,
            "stage_label": "phone_insert",
            "transition_to_next": "Cut outward along Suriyeong's line of sight to a long view of the approaching boat.",
            "visual_focus": "The phone and its missed-call notifications"
          },
          {
            "camera_motion": "static",
            "camera_position": "At eye level near Suriyeong's position, facing outward from the port at a long distance from the approaching boat",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "Pan with the boat's arrival, then begin tracking beside Suriyeong as she moves toward it.",
            "visual_focus": "The boat emerging through the fog and approaching the port"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height, two to three meters beside and slightly behind Suriyeong as she approaches the boat",
            "stage_index": 5,
            "stage_label": "approach",
            "transition_to_next": "Continue tracking ahead of Suriyeong, then settle at chest height on the interaction axis between her and Inwoo.",
            "visual_focus": "Suriyeong closing the distance to Inwoo as he handles the line"
          },
          {
            "camera_motion": "static",
            "camera_position": "At chest height, a medium distance in front of Suriyeong and slightly to Inwoo's side of the interaction axis",
            "stage_index": 6,
            "stage_label": "dialogue",
            "transition_to_next": "After the exchange, track around Suriyeong toward her side and move closer as she turns back toward the sea.",
            "visual_focus": "Suriyeong's upper body as she stands before Inwoo holding the line"
          },
          {
            "camera_motion": "static",
            "camera_position": "At head height, close beside Suriyeong and perpendicular to her eyeline toward the sea",
            "stage_index": 7,
            "stage_label": "farewell",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's side profile with the phone held to her ear and the sea beyond her eyeline"
          }
        ],
        "flow_summary": "텅 빈 포구의 원경에서 갯바위에 앉은 수리영의 뒤로 전진한 뒤, 전화 화면과 안개 속 배를 컷으로 연결한다. 이후 수리영을 따라 배까지 이동해 인우와의 대화 축에 멈추고, 마지막에는 바다를 향한 수리영의 옆얼굴로 돌아 들어간다.",
        "scene_index": 26,
        "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": 6,
            "stage_index": 6
          },
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 7
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At chest height, a medium distance in front of Hyesu, framing her upper body with the living room visible behind her",
            "stage_index": 1,
            "stage_label": "establishing_reaction",
            "transition_to_next": "A slow forward dolly moves from the upper-body framing toward Hyesu's face while maintaining the same viewing axis.",
            "visual_focus": "Hyesu frozen with the phone held to her ear"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Hyesu's eye level, close to her face on the same frontal viewing axis",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu's tightened expression as she absorbs the recorded message"
          }
        ],
        "flow_summary": "카메라는 엉망이 된 거실을 등진 혜수의 굳은 상체를 정면에서 포착한 뒤, 같은 축을 따라 천천히 다가가 충격에 빠진 얼굴로 시선을 좁힌다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "A distant elevated position over the sea, framing the small fishing boat in an extreme wide view",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "Cut from the distant view to a position on the deck facing the two characters",
            "visual_focus": "The small fishing boat isolated in the surrounding sea"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "On the deck about three meters from Suri-young at her seated eye level, aligned across the exchanged map toward Inwoo",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Continue forward along the conversational axis, then arc slightly to obtain a three-quarter frontal view of Inwoo",
            "visual_focus": "Suri-young extending the map and photograph toward Inwoo during their exchange"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Within one meter of Inwoo at eye level, holding a tight three-quarter frontal angle from Suri-young's side of the exchange",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "Pull back and pivot with Inwoo as he abruptly rises and turns toward the wheelhouse",
            "visual_focus": "Inwoo's widening eyes and frozen reaction to the photograph"
          },
          {
            "camera_motion": "track",
            "camera_position": "Two to three meters behind and slightly beside Inwoo at standing waist height, moving with him across the deck",
            "stage_index": 4,
            "stage_label": "escape",
            "transition_to_next": "Allow Suri-young to cross into the path, then settle behind her while continuing toward the wheelhouse",
            "visual_focus": "Inwoo rising abruptly, turning away, and rushing toward the wheelhouse"
          },
          {
            "camera_motion": "track",
            "camera_position": "About two meters behind Suri-young at waist height, with enough distance to hold her full body and Inwoo's back ahead",
            "stage_index": 5,
            "stage_label": "pursuit",
            "transition_to_next": "",
            "visual_focus": "Suri-young leaning forward and reaching urgently toward Inwoo as both move toward the wheelhouse"
          }
        ],
        "flow_summary": "바다 위 어선을 먼 전경으로 확인한 뒤 갑판으로 컷해, 지도와 사진을 사이에 둔 두 사람에게 점차 접근한다. 인우의 당황한 얼굴까지 밀착한 카메라는 그의 돌발적인 이동을 따라 물러나며 회전하고, 수리영의 뒤에서 조타실을 향한 추격으로 이어진다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten to a face close-up while preserving the three-quarter frontal angle",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold the rear spacing wide enough to preserve Suri-young's full-body silhouette and outstretched arm",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At chest height beside the control area, within medium distance of Inwoo and Suriyoung",
            "stage_index": 1,
            "stage_label": "confrontation",
            "transition_to_next": "The camera lowers and moves forward between them, following their attention toward the photograph.",
            "visual_focus": "Inwoo and Suriyoung confronting each other at the controls"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At hand height directly above and slightly to the side of the photograph, moving from arm's length into close-up distance",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera pulls away from the photograph, rises toward Inwoo's shoulder, and tracks behind him without crossing into another space.",
            "visual_focus": "Suriyoung's fingertip indicating the girl's face in the photograph"
          },
          {
            "camera_motion": "track",
            "camera_position": "At Inwoo's shoulder height, moving from his near side to a position just behind his shoulder at close distance",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "The camera continues laterally around Inwoo's shoulder as Suriyoung loses balance, opening the angle toward both faces.",
            "visual_focus": "The red circular markings on the control-room wall beyond Inwoo's rigid shoulder"
          },
          {
            "camera_motion": "track",
            "camera_position": "At upper-chest height in front of and slightly to the side of Inwoo, within close two-person distance",
            "stage_index": 4,
            "stage_label": "collapse",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's lowered side profile resting over Inwoo's shoulder while Inwoo stares forward"
          }
        ],
        "flow_summary": "카메라는 두 사람의 대치에서 사진으로 낮게 파고든 뒤, 인우의 어깨 뒤로 상승하며 벽면의 붉은 원형 표식들을 드러낸다. 이어 인우의 측면을 돌아 수리영이 그의 어깨에 쓰러진 최종 구도로 연결된다.",
        "scene_index": 29,
        "shot_assignments": [
          {
            "deviation_note": "The forward movement settles into a held close-up on the fingertip and the girl's face.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "The lateral track stops behind Inwoo's frozen shoulder to hold the circular markings in view.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          },
          {
            "deviation_note": "The camera settles after Suriyoung's fall, tightening slightly to prioritize her slack side profile above Inwoo's shoulder.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At a high, distant vantage point above the sea, facing the open water in a wide view",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "A slow pan redirects the view from the setting sun and its reflection toward the fog bank.",
            "visual_focus": "The setting sun, its golden reflection across the sea, and the surrounding open water"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At a moderate height above the sea and far from the fog bank, aligned toward its broad face",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues forward and lowers toward the boat's path, shifting slightly off its centerline to meet the bow at a frontal three-quarter angle.",
            "visual_focus": "The dense fog bank and the small fishing boat advancing toward it"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low above the sea, a medium-long distance ahead of and slightly to one side of the small fishing boat, facing its bow at a frontal three-quarter angle",
            "stage_index": 3,
            "stage_label": "fog_entry",
            "transition_to_next": "",
            "visual_focus": "The small fishing boat with its bow halfway inside the dense fog and spray held on both sides of the bow"
          }
        ],
        "flow_summary": "카메라는 해와 바다를 담는 먼 전경에서 안개 띠 쪽으로 시선을 옮긴 뒤, 전진하며 배의 항로 가까이 내려간다. 마지막에는 뱃머리 앞쪽의 사선 위치에서 배와 함께 이동하며 안개 속으로 반쯤 진입한 순간을 포착한다.",
        "scene_index": 30,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "cabedbfe-80e5-476d-abea-dfeabaf40f0f",
  "resolved_model": "gpt",
  "updated_at": "2026-07-18T20:53:48.947827+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}