{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low at shin-to-waist height on a narrow forest path, about 10 feet in front of the running unknown man, moving backward through dense brush",
            "stage_index": 1,
            "stage_label": "escape_tracking",
            "transition_to_next": "The camera keeps retreating with the runner, then slides closer along his side as the brush closes in around him.",
            "visual_focus": "the unknown man bursting through undergrowth with one bare foot striking the dirt"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Close beside the unknown man at thigh height, then rising toward his face within arm’s length as he staggers forward",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As the man freezes in terror, the camera follows his alarm with a sudden upward whip tilt toward the dark space ahead of him.",
            "visual_focus": "the wound on the man’s thigh and his terrified reaction"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Ground-level just behind and slightly to the side of the unknown man, angled upward toward the treeline and open air above him",
            "stage_index": 3,
            "stage_label": "attack_reveal",
            "transition_to_next": "",
            "visual_focus": "a massive black silhouette suspended mid-leap toward the unknown man"
          }
        ],
        "flow_summary": "카메라는 숲속 바닥 가까이에서 도망치는 낯선 남자와 함께 후진하며 추적하다가, 부상과 공포를 스치듯 끌어올린다. 마지막에는 남자의 시선과 비명에 반응하듯 위로 급격히 틸트해 공중에서 덮쳐오는 검은 형체를 포착한다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "Frame wider than the stage default to hold the man’s full body mid-action while preserving the low forward-tracking energy.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Hold the upward angle a beat longer so the black silhouette reads clearly as airborne before impact.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the mouth of the narrow alley, standing height, 6 meters from the utility pole, looking through mist and dim streetlight toward the two overlapping figures",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward dolly along the alley axis, closing the distance to the figures against the pole.",
            "visual_focus": "the entwined silhouettes of the man and the woman under the streetlight"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Chest-to-eye height, within 1 meter of the man’s face, angled slightly upward from the woman’s shoulder line toward his face",
            "stage_index": 2,
            "stage_label": "approach_to_eyes",
            "transition_to_next": "After reaching the eye detail, the camera eases laterally and tilts down from the man’s eyes toward the woman’s neck.",
            "visual_focus": "the man’s red glowing eyes emerging from the darkness"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Very close beside the pair at shoulder height, slightly off their profile, compressed between the utility pole and the alley wall",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "As the woman loses strength, the camera follows the downward motion, dropping its gaze toward the wet ground and widening the view.",
            "visual_focus": "the violent contact at the woman’s neck and the collapse beginning in her body"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low on the wet alley floor, 40 centimeters above ground, 1.5 meters from the woman’s body, looking diagonally across the cold pavement",
            "stage_index": 4,
            "stage_label": "aftermath",
            "transition_to_next": "",
            "visual_focus": "the woman lying completely sprawled on the damp alley floor"
          }
        ],
        "flow_summary": "카메라는 골목 입구의 희미한 실루엣에서 출발해 남자의 얼굴로 천천히 파고들며 붉은 눈을 포착한다. 이후 시선이 목 부근을 거쳐 아래로 떨어지고, 마지막에는 축축한 바닥 위에 쓰러진 여자의 몸에 정지한다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "Tighten from the stage’s close approach into an extreme close-up so the frame is filled almost entirely by the man’s two red glowing eyes in darkness.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold lower and colder than the stage default, emphasizing the broken neck angle and the body fully spread across the wet pavement.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At eye level outside the yellow police line, about 12 meters from the covered bodies, looking inward across the taped boundary through the misty crime scene.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks laterally along the police line, then slips visually through a gap between officers toward the command cluster.",
            "visual_focus": "the police line, officers holding the perimeter, and the two covered body shapes in the background"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At shoulder height inside the police cluster, about 2 meters from Hyesu, angled three-quarters toward her upper body with the covered bodies off in the direction of her gesture.",
            "stage_index": 2,
            "stage_label": "command_focus",
            "transition_to_next": "The camera continues forward a short distance, tightening on Hyesu before following the line of her pointed finger.",
            "visual_focus": "Hyesu directing the investigation among the surrounding police officers"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At the same shoulder-height position beside the police cluster, maintaining close proximity to Hyesu while rotating toward the area she indicates.",
            "stage_index": 3,
            "stage_label": "gesture_reveal",
            "transition_to_next": "",
            "visual_focus": "the direction of Hyesu's pointed hand leading back toward the body recovery area"
          }
        ],
        "flow_summary": "카메라는 폴리스 라인 바깥에서 현장의 규모를 먼저 훑은 뒤, 경찰 무리 안쪽으로 천천히 진입해 지휘 중인 혜수에게 집중한다. 이후 혜수의 손짓 방향을 따라 시선이 시신 수거 현장으로 이어지는 흐름이다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly tighter than the stage default as an upper-body composition, holding Hyesu's extended pointing arm and speaking mouth under the heavy gray daylight.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "Very high aerial position above the outskirts, around 80 meters up, angled steeply downward over a cluster of old low-rise apartment buildings in hazy daylight",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera slowly descends and drifts forward, narrowing from the neighborhood grid toward one weathered rooftop room.",
            "visual_focus": "the quiet outskirts and the dense arrangement of aging residential buildings under misty sunlight"
          },
          {
            "camera_motion": "crane",
            "camera_position": "High overhead position about 25 meters above a weathered multi-family villa, looking down at the faded rooftop room and surrounding roof surfaces",
            "stage_index": 2,
            "stage_label": "settle_on_rooftop",
            "transition_to_next": "",
            "visual_focus": "the still exterior of the old rooftop room, isolated in the muted morning haze"
          }
        ],
        "flow_summary": "카메라는 변두리 주거지 전체를 높은 부감으로 잡은 뒤, 천천히 낮아지며 낡은 빌라 옥탑방으로 시선을 좁힌다. 흐린 햇빛과 안개 속에서 공간의 적막함과 불안을 한 번의 하강하는 시선으로 형성한다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "Frame holds slightly longer on the faded rooftop room to emphasize silence and unease beneath the hazy light.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the small living room, near the window at shoulder height, set several feet to Minsuk's side and angled across the dim room toward the television glow",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow inward move away from the window line, following the domestic space toward the table and kitchen area as Suri-young enters.",
            "visual_focus": "Minsuk's tense side profile fixed on the television, with pale daylight cutting through the room"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Mid-room between the living area and the small table, at seated eye level, moving closer to the kitchen-side action",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "After the breakfast exchange, a hard cut jumps forward in time to the doorway area while preserving the intimate domestic distance between mother and daughter.",
            "visual_focus": "The shared table and kitchen activity around Minsuk and Suri-young"
          },
          {
            "camera_motion": "static",
            "camera_position": "In the entryway area at close face height, less than two feet from Suri-young, slightly behind Minsuk's shoulder line",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera drops its attention from Suri-young's face and Minsuk's shoulder line down along Minsuk's arm to isolate the wrist.",
            "visual_focus": "Suri-young's face as she closes her eyes and leans in near Minsuk's shoulder"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Very close at lower chest height, about eight inches from Minsuk's exposed wrist, compressed into an extreme detail view",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The dark circular mark standing out on Minsuk's pale wrist skin"
          }
        ],
        "flow_summary": "카메라는 어두운 거실의 창가 쪽에서 TV를 바라보는 민숙의 불안을 먼저 포착한 뒤, 식탁과 부엌을 거쳐 시간 경과 컷으로 현관 쪽의 모녀 근접 거리로 이동한다. 수리영이 민숙에게 다가가는 친밀한 순간에서 시선을 아래로 떨어뜨려 손목의 표식을 마지막으로 드러낸다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "Hold the side angle long enough for the television glow and thin window light to define Minsuk's rigid expression.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Frame tighter than the stage default so Suri-young's closed eyes and nose near Minsuk's shoulder dominate the image.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          },
          {
            "deviation_note": "Push into an extreme close-up and let the wrist fill the frame, minimizing all surrounding context.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At bicycle-handlebar height, three meters off Suriyeong's front-left side, moving parallel along the coastal road at a medium distance",
            "stage_index": 1,
            "stage_label": "establishing_motion",
            "transition_to_next": "The camera keeps pace with the bicycle, then gently arcs inward toward her front quarter as the off-screen dog bark cuts through the bright riding rhythm.",
            "visual_focus": "Suriyeong riding energetically with the sea road passing behind her"
          },
          {
            "camera_motion": "track",
            "camera_position": "At Suriyeong's eye level, just ahead and slightly to the side of the bicycle, close enough to hold her face and upper body while still moving with the bike",
            "stage_index": 2,
            "stage_label": "reaction_close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong freezing on the bicycle, eyes widened, head turned sideways toward the off-screen barking sound"
          }
        ],
        "flow_summary": "카메라는 해안가 도로를 달리는 수리영과 나란히 이동하다가, 개 짖는 소리가 들리는 순간 그녀의 얼굴 쪽으로 부드럽게 파고든다. 밝은 주행의 리듬이 가까운 반응 관찰로 좁혀지며 선택된 샷은 이 연속 추적의 클로즈 구간에 놓인다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Hold the moving close frame slightly longer than the base track, letting her sudden stillness contrast with the continuing bicycle motion.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At kennel-aisle eye level, just outside the cage bars, medium distance from the rottweiler and aligned frontally with the cage opening",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera shifts its attention across the cage line and begins a slow push toward Sooriyoung standing opposite the dog.",
            "visual_focus": "the agitated rottweiler behind the cage bars and the tense barrier between animal and handler"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At Sooriyoung's eye level, very close to her face from the dog's side of the aisle, compressed through the cage-front sightline",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As the dog's energy drops, the camera eases off the close-up and pans down the animal's body line toward the veterinarian's working hands.",
            "visual_focus": "Sooriyoung's unwavering eyes staring straight into the cage"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Low beside the cage at hip height, close enough to catch the calm dog and the veterinarian's hand entering from the side",
            "stage_index": 3,
            "stage_label": "procedure_reveal",
            "transition_to_next": "After the injection beat, the camera tracks backward along the kennel aisle with Sooriyoung as she turns away toward the wall to make a call.",
            "visual_focus": "the subdued dog receiving the injection while the veterinarian completes the procedure"
          },
          {
            "camera_motion": "track",
            "camera_position": "Across the kennel aisle near the shelter wall, chest height, medium-close distance from Sooriyoung as she leans against the wall",
            "stage_index": 4,
            "stage_label": "private_reaction",
            "transition_to_next": "The camera holds near the wall, then would continue following her back toward the grooming table after the unanswered call.",
            "visual_focus": "Sooriyoung pressing a smartphone to her ear, frowning as she waits for an answer"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside the grooming table at standing height, angled slightly from Sooriyoung's side and close to the small dog on the table",
            "stage_index": 5,
            "stage_label": "work_continuation",
            "transition_to_next": "",
            "visual_focus": "Sooriyoung moving into shelter work, grooming and tending to the dogs"
          }
        ],
        "flow_summary": "카메라는 철장 앞의 긴장된 대치에서 출발해 수리영의 눈으로 깊게 밀고 들어간 뒤, 맹견이 누그러지는 순간을 따라 의료 처치 쪽으로 시선을 옮긴다. 이후 보호원 통로를 따라 물러나 벽가의 전화 장면을 붙잡고, 다시 일손으로 복귀하는 흐름으로 이어진다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "Frame only the eyes in an extreme close-up, tightening beyond the stage's general close face framing while keeping the frontal stare through the cage-line orientation.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Settle into a steadier upper-body composition against the wall; the tracking motion resolves into a brief hold as the unanswered call registers on her face.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At handlebar height on the busy street, slightly ahead of Suriyeong and moving backward through the neon-lit crowd toward the supermarket entrance, keeping a medium distance of about 8 feet.",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera continues retreating with her to the supermarket doors, then slips inside ahead of her as the exterior street noise gives way to the bright aisles.",
            "visual_focus": "Suriyeong weaving through street traffic and arriving at the supermarket"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the supermarket aisle at eye level, positioned across a display shelf about 4 feet from Suriyeong, looking through the shelf line toward her face as she searches for her mother.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera pivots from Suriyeong's fixed gaze toward the nearby staff area, maintaining the same aisle geography as she approaches the employees.",
            "visual_focus": "Suriyeong's tense face framed between bright supermarket shelves"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At the end of the aisle near the display section, eye level and slightly off to Suriyeong's side, holding a conversational distance of 6 to 10 feet between her and the supermarket employees.",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "As the troubling information lands, the camera lets Suriyeong move out of the aisle and tracks after her toward the entrance, passing from the bright interior back to the darker doorway.",
            "visual_focus": "Suriyeong reacting to the employees' explanation about Minsuk leaving earlier"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Just outside the supermarket entrance on the dark sidewalk, eye level and about 5 feet in front of Suriyeong, with the bright entrance behind her and the street receding around her.",
            "stage_index": 4,
            "stage_label": "reaction_withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyeong standing alone outside, calling on her smartphone and realizing the call is not being answered"
          }
        ],
        "flow_summary": "카메라는 번화가에서 수리영을 앞서 끌고 가듯 마트 입구까지 이동한 뒤, 밝은 진열대 사이로 들어가 그녀의 불안한 시선을 좁혀 잡는다. 직원들의 말로 상황이 어긋났음을 확인한 뒤에는 다시 입구 밖 어두운 거리로 빠져나와, 연락이 닿지 않는 수리영의 긴장을 따라붙는다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "At the end of the dolly-in, the camera pauses slightly lower than direct eye line so the shelf edge cuts across the foreground and emphasizes her narrowed gaze beyond it.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "The handheld movement settles into a tighter medium close-up, allowing the smartphone at her ear and her clenched mouth to dominate while the supermarket entrance glows behind her.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "On the coastal roadside at night, low to the asphalt about 0.8 meters high, several meters ahead of the approaching bicycle path, facing down the fog-covered road",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As the bicycle approaches, the camera leaves the roadside position and begins moving backward in front of the rider, aligning with the center of the lane.",
            "visual_focus": "the dark foggy coastal road and the approaching shape of Sooryeong on the bicycle"
          },
          {
            "camera_motion": "track",
            "camera_position": "Directly in front of the moving bicycle, at handlebar height about 1 meter ahead of Sooryeong, tracking backward at the same speed along the coastal road",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera gradually increases the distance while maintaining the same forward-facing axis, allowing more of the road and darkness to surround the rider.",
            "visual_focus": "Sooryeong's tense face lowered close over the handlebars, staring straight ahead"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Still in front of the bicycle but pulling farther away to a medium distance, slightly above handlebar height, centered on the road ahead of Sooryeong",
            "stage_index": 3,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Sooryeong riding urgently through the dark mist on the coastal road"
          }
        ],
        "flow_summary": "카메라는 안개 낀 해안도로의 어둠 속에서 수리영이 다가오는 방향을 먼저 잡고, 곧바로 자전거 앞에서 뒤로 물러나며 그녀의 긴장된 얼굴을 정면으로 따라간다. 이후 같은 축을 유지한 채 거리를 벌려 밤길의 압박감을 함께 드러내는 흐름이다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter than the stage default, cropping just above the handlebars so her lowered upper body and fixed forward gaze dominate the shot.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low to the rooftop floor, about 20 cm high, several meters from the rooftop room door, moving along the dark roof surface toward the threshold.",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera continues forward with the moving shoes, then tilts up from the floor line toward the iron door and the standing figure.",
            "visual_focus": "dry leaves scraping across the rooftop floor and the unknown man's shoes approaching the iron door"
          },
          {
            "camera_motion": "static",
            "camera_position": "Behind the unknown man at chest height, roughly 2.5 meters from the damp iron door, centered on his upright back with the door filling the background.",
            "stage_index": 2,
            "stage_label": "threshold_presence",
            "transition_to_next": "The camera pushes closer toward the door seam, lowering slightly to isolate the hand and the narrow gap.",
            "visual_focus": "the unknown man's back, his obscured head, and the long dark shadow stretching across the iron door area"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close to the iron door seam at hand height, less than 30 cm from the surface, angled slightly from the side of the threshold.",
            "stage_index": 3,
            "stage_label": "lock_breach",
            "transition_to_next": "As the lock releases and the door opens, the camera slides away from the threshold along the exterior wall toward the window, keeping the action implied rather than entering fully.",
            "visual_focus": "the paper flyer being forced into the door gap and the lock mechanism yielding"
          },
          {
            "camera_motion": "track",
            "camera_position": "Outside the rooftop room window at shoulder height, tight to the dark glass, angled obliquely so the room action appears only as a reflected silhouette.",
            "stage_index": 4,
            "stage_label": "reflected_reveal",
            "transition_to_next": "",
            "visual_focus": "a black-and-white shadow reflection of one figure over a fallen human shape, mouth opened toward the neck area"
          }
        ],
        "flow_summary": "카메라는 옥상 바닥의 낮은 시점에서 낯선 남자의 접근을 따라가다가 철문 앞에서 그의 존재감을 고정해 보여준다. 이후 문틈의 침입 행위를 따라 가까워진 뒤, 문 안으로 들어가지 않고 외벽을 타고 창문으로 이동해 유리에 비친 폭력적인 실루엣을 드러낸다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly wider than the stage default to include the long, dense shadow falling across the damp threshold while keeping the man's face swallowed by darkness.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the camera tight to the reflective glass and underexpose the room so the attack reads only as a monochrome silhouette, not direct interior detail.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low shoulder-height position in the dark apartment courtyard, about 6 feet behind and slightly to the side of Suriyoung, moving from the bicycle corner toward the stairwell entrance",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera keeps moving with Suriyoung and angles into the stairwell, compressing the space as the courtyard falls behind.",
            "visual_focus": "Suriyoung abandoning the bicycle and heading urgently toward the rooftop stairs"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Tight eye-level position on the narrow stair landing, about 2 feet in front of Suriyoung on the dark concrete stairs",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As she reacts to the smell and then continues upward, the camera retreats up the stairs ahead of her, maintaining her eyeline and gradually opening the frame.",
            "visual_focus": "Suriyoung's face as she pinches her nose and grimaces at the sudden foul odor"
          },
          {
            "camera_motion": "track",
            "camera_position": "Eye-level wide position on the rooftop just beyond the stair exit, about 10 feet in front of Suriyoung, facing back toward her as she steps fully onto the rooftop floor",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "The camera holds her frozen reaction for a beat, then begins a controlled pan toward the direction of her stare.",
            "visual_focus": "Suriyoung's full body stopped on the rooftop, hand dropping from her nose as she stares forward in shock"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Same rooftop position, eye-level, pivoting away from Suriyoung toward the rooftop room entrance across the damp dark air",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "the half-open old metal front door of the rooftop room"
          }
        ],
        "flow_summary": "카메라는 어두운 마당에서 수리영을 따라 계단으로 밀착해 올라가다가, 냄새를 맡고 멈춘 얼굴을 가까이 포착한 뒤 그녀보다 먼저 옥상으로 빠져나와 전신 반응을 받아낸다. 마지막 흐름은 그녀의 시선 방향으로 회전하며 반쯤 열린 옥탑방 문을 드러내는 구조다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter than the stage default, cropping around Suriyoung's face and pinched fingers to emphasize the physical reaction to the smell.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Widen to a full-body frame and let her dropped hand read clearly against the rooftop space while keeping her gaze aligned toward the unseen door.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Just inside the dark living room entrance, standing eye level, several meters from the kitchen and hallway",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to track behind Suriyeong as her attention moves from the silent living room toward the inner rooms.",
            "visual_focus": "Suriyeong entering the room, the cold pot, the weak lamp glow, and the abandoned interior"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind and slightly to the side of Suriyeong in the narrow interior path, shoulder height, close enough to feel confined",
            "stage_index": 2,
            "stage_label": "search",
            "transition_to_next": "The camera stays with Suriyeong as she leaves the empty room and turns toward her own door, tightening the corridor perspective.",
            "visual_focus": "Suriyeong checking the room doors and the disturbed table with two teacups"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low at the threshold of Suriyeong's room, knee height, looking inward across the floor toward the curtain",
            "stage_index": 3,
            "stage_label": "blood_trail_approach",
            "transition_to_next": "The dolly continues along the line of the bloody footprints and rises slightly as Suriyeong reaches the curtain.",
            "visual_focus": "The blood on the floor and the bloody footprints leading to the closed curtain"
          },
          {
            "camera_motion": "static",
            "camera_position": "Inside Suriyeong's room near the pulled curtain, chest height, angled toward the dark floor space behind it",
            "stage_index": 4,
            "stage_label": "corpse_reveal",
            "transition_to_next": "After holding on the reveal, the camera lowers and slides closer along Minsuk's body toward her hand.",
            "visual_focus": "Minsuk's slumped body seated behind the curtain with her head bowed"
          },
          {
            "camera_motion": "track",
            "camera_position": "Very low beside Minsuk's body, hand height, close to the floor and angled toward her limp arm",
            "stage_index": 5,
            "stage_label": "close_evidence",
            "transition_to_next": "The camera leaves the hand detail by tilting and drifting upward along the bed line toward the wall above it.",
            "visual_focus": "Minsuk's pale hand gripping a crumpled old photograph and the ominous mark on her wrist"
          },
          {
            "camera_motion": "static",
            "camera_position": "Near the side of the bed, slightly below eye level, aimed upward at the wall above the bed",
            "stage_index": 6,
            "stage_label": "supernatural_reveal",
            "transition_to_next": "",
            "visual_focus": "The wall above the bed where a thick red circle appears as if drawn by an unseen brush"
          }
        ],
        "flow_summary": "카메라는 어두운 거실 입구에서 수리영의 수색을 따라 안쪽 방으로 점점 밀고 들어가며, 핏자국을 따라 커튼 뒤의 참혹한 발견으로 도달한다. 이후 민숙의 손에 쥔 사진으로 낮게 파고든 뒤, 시선을 위로 끌어올려 침대 위 벽의 붉은 원을 마지막 공포의 초점으로 드러낸다.",
        "scene_index": 12,
        "shot_assignments": [
          {
            "deviation_note": "The frame excludes Suriyeong and holds wider on the dark floor behind the opened curtain, emphasizing Minsuk's bowed, seated body as the first full reveal.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 4
          },
          {
            "deviation_note": "The tracking movement tightens into an almost still close-up so the crumpled old photograph inside Minsuk's limp grip becomes the dominant detail.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 5
          },
          {
            "deviation_note": "The composition isolates the wall surface above the bed, allowing the red circle to read as an unnatural mark without showing the hand or body details.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 18,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Low on the rooftop cement stairway, knee height, a few feet below Suriyeong as she stumbles downward toward the exterior landing",
            "stage_index": 1,
            "stage_label": "descent_panic",
            "transition_to_next": "As the siren dominates the space, the movement resolves with a hard cut away from the stairs to the police car area.",
            "visual_focus": "Suriyeong's frantic descent from the rooftop room into the dark exterior stairwell"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Beside the police car at street level, eye height, medium distance from Hyesu as red emergency light washes across the area",
            "stage_index": 2,
            "stage_label": "arrival_reorientation",
            "transition_to_next": "The camera tracks off Hyesu's line of sight toward the streetlamp where Suriyeong has stopped.",
            "visual_focus": "Hyesu noticing Suriyeong and registering that something is wrong"
          },
          {
            "camera_motion": "track",
            "camera_position": "Street-level under the streetlamp, chest height, facing Suriyeong from the front as Hyesu rushes in from camera side",
            "stage_index": 3,
            "stage_label": "convergence",
            "transition_to_next": "The camera arcs tighter around Suriyeong's side as Hyesu reaches her and takes hold of her shoulders.",
            "visual_focus": "Suriyeong standing frozen while Hyesu closes the distance"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Very close at Suriyeong's shoulder line, slightly below Hyesu's eye level, angled upward at Hyesu from within arm's length",
            "stage_index": 4,
            "stage_label": "urgent_contact",
            "transition_to_next": "The camera pushes and tilts subtly upward from the shoulder grip toward Hyesu's face as Suriyeong delivers the revelation.",
            "visual_focus": "Hyesu gripping Suriyeong's shoulders and demanding an explanation"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight in front of Hyesu at eye level, within two feet of her face, isolating her against the dark exterior background",
            "stage_index": 5,
            "stage_label": "shock_reaction",
            "transition_to_next": "The camera releases the tight hold with a sharp handheld pull and pivots toward the rooftop stairway as Hyesu turns to run.",
            "visual_focus": "Hyesu's face freezing in shock after hearing that Suriyeong's mother is dead"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Behind and slightly below Hyesu at the base of the steep rooftop stairs, waist height, following up the stair axis with Kim detective close behind",
            "stage_index": 6,
            "stage_label": "ascent_rush",
            "transition_to_next": "",
            "visual_focus": "Hyesu and Kim detective launching up the dark stairs toward the rooftop room"
          }
        ],
        "flow_summary": "카메라는 옥탑 계단의 혼란에서 시작해 경찰차 쪽 혜수의 발견으로 절단 이동한 뒤, 가로등 아래 수리영에게 접근하며 두 인물의 충돌 지점으로 좁혀진다. 이후 혜수의 손과 얼굴로 밀착해 충격을 포착하고, 마지막에는 계단을 향해 다시 몸을 던지는 동선으로 이어진다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "혜수의 상체와 양손이 프레임을 지배하도록 약간 더 낮은 앵글을 유지한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          },
          {
            "deviation_note": "돌리 인의 끝에서 움직임을 거의 멈춰 두 눈이 커진 순간을 고정해준다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "In the narrow hallway just outside Suriyeong's bedroom doorway, eye level, about 2 meters behind her path of movement",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera follows her momentum through the doorway, slipping past the doorframe into the room without breaking the spatial line.",
            "visual_focus": "Suriyeong rushing into her bedroom and the open doorway ahead"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just inside the bedroom doorway, eye level, wide distance from the bed and curtain, centered to take in the unnaturally orderly room",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "The camera continues forward a short distance, then lets the room fall slightly out of dominance as it pivots toward Suriyeong's reaction near the entrance.",
            "visual_focus": "the empty, perfectly cleaned bedroom with no bloodstain, no red mark, and no body"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Inside the bedroom near the foot of the bed, chest height, medium distance from Suriyeong standing frozen by the doorway",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "As Suriyeong bolts out toward the dining area, the camera breaks from her face and tracks after her through the doorway.",
            "visual_focus": "Suriyeong's pale, stunned face as she stares into the empty room"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving from the bedroom doorway back toward the main room, eye level, keeping a practical distance behind Suriyeong",
            "stage_index": 4,
            "stage_label": "transition_to_dining",
            "transition_to_next": "After the dining-table exchange and Hyesu's attempt to calm Suriyeong, cut back into the bedroom to a lower, more suspicious angle aimed at the corner objects.",
            "visual_focus": "Suriyeong leaving the bedroom toward the dining table and the clean apartment beyond"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low in one corner of Suriyeong's bedroom, about 60 centimeters above the floor, close to the backpack and doll, angled so their shadows stretch across the wall and floor",
            "stage_index": 5,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "the backpack and doll, subtly shifted from their original positions and casting an uncanny shadow"
          }
        ],
        "flow_summary": "카메라는 현관 쪽에서 수리영을 따라 방 안으로 미끄러져 들어가며 사라진 흔적을 먼저 드러내고, 곧바로 수리영의 얼어붙은 반응으로 시선을 옮긴다. 이후 식탁 쪽 동선을 거친 뒤 논리적 컷으로 다시 방 구석의 낮은 시점에 붙어, 미묘하게 달라진 물건들을 불길한 단서처럼 포착한다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wider and more symmetrical than the moving entry, emphasizing the impossible cleanliness and absence of evidence.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten slightly from the stage's medium reaction angle so her drained expression dominates while the empty room remains implied behind her.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Use a closer, lower framing than the stage setup, isolating only the backpack, doll, and their distorted shadow as the final visual clue.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At bench height, about 2 meters to Suriyoung's seaside flank, slightly behind her profile line, with the foggy shoreline stretching beyond her eyeline",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera begins a slow inward move from the side of the bench, tightening toward the space between Suriyoung and the approaching Hyesu.",
            "visual_focus": "Suriyoung sitting motionless on the coastal bench, staring into empty fog over the sea"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Closer to the bench, at seated shoulder height, angled between Suriyoung's side and Hyesu's approach from the bus stop side",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "As Suriyoung reacts and rises, the camera shifts its axis toward the road, preparing to follow her movement away from the bench.",
            "visual_focus": "Hyesu entering Suriyoung's personal space and Suriyoung's unsettled reaction"
          },
          {
            "camera_motion": "track",
            "camera_position": "A few steps off the bench on the coastal road side, waist-to-chest height, moving laterally and then slightly backward as Suriyoung breaks away",
            "stage_index": 3,
            "stage_label": "departure_reaction",
            "transition_to_next": "A hard cut jumps the viewpoint away from the open roadside into a concealed position behind dark foreground objects, revealing an observer-like vantage.",
            "visual_focus": "Suriyoung running toward the dark coastal road while Hyesu remains behind and calls after her"
          },
          {
            "camera_motion": "static",
            "camera_position": "Hidden several meters away behind dark foreground obstacles, low standing height, looking through a narrow gap toward the foggy bench and bus stop area",
            "stage_index": 4,
            "stage_label": "reveal_observer_view",
            "transition_to_next": "",
            "visual_focus": "Hyesu and Suriyoung seen at a distance through fog, as if being watched from cover"
          }
        ],
        "flow_summary": "카메라는 안개 낀 벤치 옆에서 수리영의 멍한 측면을 오래 붙잡은 뒤, 혜수의 접근과 수리영의 이탈을 따라 해안도로 쪽으로 축을 튼다. 마지막에는 열린 공간의 시선이 끊기고, 어두운 장애물 뒤 은밀한 관찰자 시점으로 점프해 두 사람을 훔쳐보는 듯한 불안을 만든다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "Keep Suriyoung in side profile with extra negative space toward the foggy sea to emphasize her confusion and isolation.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Use heavy foreground obstruction and a narrow viewing slit so the frame feels like a covert watcher rather than a neutral wide shot.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the police office entrance, standing height, several meters from the duty desk, angled slightly inward from the doorway.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks forward from the doorway into the room, following Hyesu's urgency toward the duty desk.",
            "visual_focus": "Hyesu entering the nearly empty police office while trying to reach someone by phone."
          },
          {
            "camera_motion": "pan",
            "camera_position": "Beside the front edge of the duty desk at seated eye level, about one meter from Kim, with Hyesu just off to the side of frame.",
            "stage_index": 2,
            "stage_label": "desk_confrontation",
            "transition_to_next": "As Hyesu raises the smartphone, the camera pans and tightens its attention from Kim's face toward the advancing hand and screen.",
            "visual_focus": "Kim at the desk reacting to Hyesu's request."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close to Kim's side of the desk, at face height, lens just in front of the smartphone held out between Hyesu and Kim.",
            "stage_index": 3,
            "stage_label": "phone_reveal",
            "transition_to_next": "The camera glides back along the line of Hyesu's extended arm, leaving the phone foreground and arriving at her face.",
            "visual_focus": "Hyesu's outstretched hand holding the smartphone screen close to Kim's face."
          },
          {
            "camera_motion": "track",
            "camera_position": "Tight close-up distance at Hyesu's eye level, slightly off-center to the front, close enough to isolate her face from the office background.",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu's face as dread hardens into certainty."
          }
        ],
        "flow_summary": "카메라는 경찰서 문가에서 혜수를 따라 사무실 안으로 들어와 김형사가 있는 책상 앞까지 접근한다. 이후 혜수가 내민 스마트폰 화면을 포착한 뒤, 그 손의 방향을 거슬러 올라가 불길한 예감에 굳어지는 혜수의 얼굴 클로즈업으로 수렴한다.",
        "scene_index": 16,
        "shot_assignments": [
          {
            "deviation_note": "The lens stays especially tight on the smartphone and Hyesu's hand, allowing Kim's face to remain only as the near background target of the gesture.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "The tracking move settles into a brief still close-up at the end of the stage to emphasize her clenched jaw and deep frown.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low exterior angle beside the rooftop parapet, at cat-eye height, several meters from the lit rooftop room window, with the wall running horizontally across the foreground",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to glide laterally along the wall, keeping the cat in silhouette while drawing the lit window deeper into the composition.",
            "visual_focus": "the black cat silhouetted on the wall, staring toward the lit rooftop room window through blue dawn mist"
          },
          {
            "camera_motion": "track",
            "camera_position": "Parallel to the top of the wall at low height, moving closer to the cat from a slight rear three-quarter angle, with the window held in the background",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "As the cat shifts its weight, the camera continues the lateral move and prepares to follow the movement downward over the wall.",
            "visual_focus": "the cat’s poised body line against the glowing window and misty rooftop exterior"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Just inside the wall line, still low and close to the parapet, angled downward toward the rooftop yard beyond the wall",
            "stage_index": 3,
            "stage_label": "transition_over_wall",
            "transition_to_next": "",
            "visual_focus": "the cat’s movement dropping out of the silhouette position toward the rooftop yard"
          }
        ],
        "flow_summary": "카메라는 동틀 무렵의 푸른 안개 속에서 담벼락 위 고양이와 불 켜진 옥탑방 창문을 낮은 시선으로 포착한 뒤, 담을 따라 미끄러지듯 접근한다. 이후 고양이가 담을 넘는 방향으로 시선이 기울며 다음 움직임을 예고한다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "Hold the cat as a clean black silhouette while allowing the lit window to remain slightly distant and luminous through the dawn haze.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Inside the bedroom, low at bed height about 6 feet from Suri-young, facing her across the foot of the bed in the dim morning light",
            "stage_index": 1,
            "stage_label": "awakening",
            "transition_to_next": "The camera rises with Suri-young's sudden alertness, then tracks behind her line of sight toward the closed bedroom door.",
            "visual_focus": "Suri-young waking in fear and scanning the silent room"
          },
          {
            "camera_motion": "track",
            "camera_position": "Just behind and slightly to the left of Suri-young at shoulder height, 3 feet from her as she faces the closed door and moves into the adjacent room",
            "stage_index": 2,
            "stage_label": "approach_and_search",
            "transition_to_next": "The camera follows her through the doorway and drifts toward the window as she crosses the cleaned room.",
            "visual_focus": "Suri-young cautiously opening the door and inspecting the unnaturally clean room"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Inside the cleaned room near the window, eye level, 4 feet from Suri-young, angled from her side toward the curtains and then back toward the phone sound",
            "stage_index": 3,
            "stage_label": "false_relief_and_call",
            "transition_to_next": "After the phone call, the camera cuts to a tighter, more enclosed position in the bathroom, preserving her anxious momentum into the next space.",
            "visual_focus": "Suri-young finding no body, reacting to the phone, and speaking in panic"
          },
          {
            "camera_motion": "static",
            "camera_position": "In the bathroom, eye level at the sink, directly facing the mirror from about 3 feet away so Suri-young and the rear wall are seen through reflection",
            "stage_index": 4,
            "stage_label": "mirror_reveal",
            "transition_to_next": "As Suri-young whips around and flees, the camera breaks from the locked mirror view and cuts to the dining area ahead of her path.",
            "visual_focus": "the mirror reflection of Suri-young and the bathroom rear wall where the red ritual circle appears"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "In the living room beside the dining table, chest height and within 2 feet of Suri-young, angled upward toward her face as she holds the family photo",
            "stage_index": 5,
            "stage_label": "living_room_reaction",
            "transition_to_next": "",
            "visual_focus": "Suri-young's terrified reaction after the hallucination in the photo"
          }
        ],
        "flow_summary": "카메라는 침대 곁에서 깨어나는 수리영을 따라 방과 창문, 전화기를 거쳐 욕실 거울 앞의 정지된 공포로 수렴한다. 이후 욕실에서 거실 식탁으로 불안정하게 끊어 붙으며, 사진 환시가 수리영의 비명 얼굴로 폭발하도록 가까이 파고든다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "Frame the mirror reflection tighter than the stage default, excluding most of the sink so the red ritual circle dominates the reflected rear wall.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 4
          },
          {
            "deviation_note": "Push the handheld camera slightly closer into a tight facial close-up, keeping the photo edge in frame only as context for the scream.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the quiet mart near the entrance aisle, eye level, medium-wide distance, moving parallel to Suryoung as she searches between shelves.",
            "stage_index": 1,
            "stage_label": "establishing_search",
            "transition_to_next": "The camera continues tracking down the aisle and slows as Suryoung stops in front of the male employee.",
            "visual_focus": "Suryoung moving through the mart and scanning for the male employee."
          },
          {
            "camera_motion": "static",
            "camera_position": "Inside the mart aisle, eye level, medium distance between Suryoung and the male employee, positioned slightly off their eyeline.",
            "stage_index": 2,
            "stage_label": "interrogation",
            "transition_to_next": "As the CCTV question shifts the action outside, the camera follows them toward the entrance in a continuous track, passing through the doorway to the exterior awning.",
            "visual_focus": "Suryoung questioning the male employee about what he saw and whether CCTV might have captured it."
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Outside under the mart awning, shoulder height, about two meters from the male employee's side, angled toward the upper wall where the CCTV camera is mounted.",
            "stage_index": 3,
            "stage_label": "cctv_reveal",
            "transition_to_next": "After following the pointing gesture up to the CCTV, the camera tilts back down and tracks a short distance toward Suryoung as she steps aside to make a call.",
            "visual_focus": "The male employee's pointing hand leading the eye to the CCTV camera on the wall."
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside near the mart entrance, chest height, close-medium distance in front of Suryoung, with the storefront and awning falling behind her.",
            "stage_index": 4,
            "stage_label": "phone_reaction",
            "transition_to_next": "",
            "visual_focus": "Suryoung holding a smartphone to her ear, staring into space with a serious expression."
          }
        ],
        "flow_summary": "카메라는 한산한 마트 내부에서 수리영의 탐색과 질문을 따라가다가, CCTV 가능성이 언급되는 순간 인물들을 따라 입구 밖 처마 아래로 이동한다. 이후 남자 직원의 손끝이 가리키는 CCTV를 확인하고, 그 단서의 무게가 수리영의 전화 통화 리액션으로 이어지도록 가까이 멈춘다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "Hold the male employee in side profile and let his extended finger create a strong diagonal toward the CCTV near the top of frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten slightly from the stage default so Suryoung's upper body and serious stare dominate while the background stays secondary.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Behind the security worker at seated head height, about 1.5 meters back, looking over his shoulder toward the desk monitor in the dim office",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow lateral track to the side of the security worker, leaving the monitor line and opening the background where Suriyoung is standing.",
            "visual_focus": "the security worker leaning toward the monitor and the dark CCTV playback"
          },
          {
            "camera_motion": "track",
            "camera_position": "Slightly behind and to the side of the security worker, chest-to-eye height, about 1 meter from Suriyoung, with the security worker partially foregrounded",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "Cut in the same screen direction to the monitor surface, as if following Suriyoung’s stare into the footage.",
            "visual_focus": "Suriyoung staring past the security worker at the monitor, her tension visible in her fixed face and clenched hands"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Very close to the monitor plane at desk height, nearly perpendicular to the screen, with the office edges falling out of focus",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "Cut back out to the room and pan from the monitor-side position toward the people around the desk as the conversation shifts to taking the CCTV copy.",
            "visual_focus": "the dark, noisy CCTV image where the figures cannot be identified"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside Suriyoung at eye level, close profile distance of about 60 centimeters, slightly forward of her shoulder so the floor falls into her lowered eyeline",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyoung’s side profile as she bites her lip and drops her gaze toward the floor"
          }
        ],
        "flow_summary": "카메라는 보안직원의 등 뒤에서 모니터를 보며 시작해, 그의 옆을 따라 이동하며 뒤에 선 수리영의 불안을 포착한다. 이후 CCTV 화면으로 시선을 밀어 넣었다가 다시 방 안으로 빠져나와, 대화가 정리되는 순간 수리영의 옆얼굴에 조용히 붙어 멈춘다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "Tighten slightly within the stage so the security worker remains a partial foreground obstruction while Suriyoung’s clenched hands and rigid face become the emotional center.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Let the track settle into a near-static close profile, tilting only minimally with her lowered gaze toward the floor.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the far side of the police office entrance, eye level, wide distance from Hyesu’s desk, looking across the emptied bullpen toward Suriyeong seated alone",
            "stage_index": 1,
            "stage_label": "empty_establishing",
            "transition_to_next": "The camera begins a slow dolly forward through the vacant aisle, narrowing the office space around Suriyeong and guiding attention toward the desk surface.",
            "visual_focus": "Suriyeong sitting alone at Hyesu’s desk in the now-empty police office"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Beside Hyesu’s desk at seated eye height, moving from a medium distance toward Suriyeong and the desktop photographs",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As Suriyeong freezes, the camera completes the push-in on her face, then pans with her eyeline toward the sound and glow of the monitor across the office.",
            "visual_focus": "Suriyeong’s stunned face as she looks down at the disturbing case photographs"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near Hyesu’s desk at shoulder height, angled from Suriyeong’s side toward the neighboring detective’s desk and monitor",
            "stage_index": 3,
            "stage_label": "reaction_to_signal",
            "transition_to_next": "A controlled cut moves from the physical over-shoulder direction of the monitor to a perpendicular, flat view of the monitor image itself.",
            "visual_focus": "Suriyeong turning her attention toward the lit monitor in the empty office"
          },
          {
            "camera_motion": "static",
            "camera_position": "Directly in front of the detective’s monitor, perpendicular to the screen plane, close enough to fill the frame with the digital display",
            "stage_index": 4,
            "stage_label": "digital_reveal",
            "transition_to_next": "",
            "visual_focus": "The monitor screen showing the sea map, red location point, coordinates, timestamp, and offline status"
          }
        ],
        "flow_summary": "카메라는 형사들이 빠져나간 뒤 텅 빈 사무실의 넓은 거리에서 수리영을 고립시켜 바라보다가, 책상 위 사진과 수리영의 얼굴로 천천히 조여 들어간다. 이후 수리영의 시선을 따라 모니터 쪽으로 회전하고, 마지막에는 화면 자체로 논리적 컷해 좌표 정보를 드러낸다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wide enough to emphasize the empty desks and the sudden absence of the other detectives around her.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten beyond the stage’s medium-close movement into a face close-up, keeping the photographs implied below frame through her downward eyeline.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 2
          },
          {
            "deviation_note": "Treat as a flat screen insert with no visible office depth, making the red point and coordinate text the primary graphic elements.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At street level outside the police station, about 18 feet in front of the bicycle, lens height around chest level, facing Su-riyoung as she pushes off from the parked area",
            "stage_index": 1,
            "stage_label": "establishing_departure",
            "transition_to_next": "The camera begins tracking backward along her line of travel as she pedals forward, keeping the police station behind her in the background.",
            "visual_focus": "Su-riyoung mounting speed on the bicycle in front of the police station"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Moving backward directly ahead of the bicycle, about 8 feet from Su-riyoung, lens height rising toward her face level as the frame tightens from body to upper torso",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues retreating in front of the bicycle while pushing optically and physically closer, compressing the distance until only her face dominates the frame.",
            "visual_focus": "Su-riyoung leaning forward and driving the pedals with urgency"
          },
          {
            "camera_motion": "track",
            "camera_position": "Directly in front of the moving bicycle, about 2 to 3 feet from Su-riyoung's face, lens at eye level, maintaining a tight frontal close-up while traveling backward at matched speed",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Su-riyoung's sweat-beaded face and fixed stare straight ahead"
          }
        ],
        "flow_summary": "카메라는 경찰서 앞에서 자전거를 타고 출발하는 수리영을 정면에서 받아내며 뒤로 물러나다가, 그녀의 속도와 감정에 맞춰 점점 얼굴 가까이 압축된다. 마지막에는 달리는 움직임 속에서도 정면 클로즈업을 유지해 굳은 표정과 땀을 강조한다.",
        "scene_index": 22,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame tighter than the stage default so the sweat on her face and the hard forward stare become the dominant visual information.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At seated eye level, three feet to Suriyoung's screen-side profile, slightly behind the monitor line in the dim PC room aisle",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera lowers and pushes closer from her profile toward the desk surface, following her attention from the monitor to her hands.",
            "visual_focus": "Suriyoung staring at the monitor and checking the coordinates on the screen"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low over the desk, about one foot above the keyboard and close to Suriyoung's hands",
            "stage_index": 2,
            "stage_label": "operation_detail",
            "transition_to_next": "The camera tracks laterally away from the keyboard along the desk edge toward the nearby printer, using the printed noise as the pull into the next position.",
            "visual_focus": "Suriyoung's fingers pressing the keyboard to confirm printing"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside the printer at chest height, close enough to frame Suriyoung's hands and upper body as she takes the pages",
            "stage_index": 3,
            "stage_label": "print_reveal",
            "transition_to_next": "The camera eases backward and tilts down from the map in her hands toward the open backpack below desk level.",
            "visual_focus": "Suriyoung holding the freshly printed complex island map from the printer"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Slightly below desk height, two feet from the backpack opening, angled down from Suriyoung's side",
            "stage_index": 4,
            "stage_label": "packing_withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyoung folding several printed maps and pushing them into the backpack"
          }
        ],
        "flow_summary": "카메라는 PC방 자리의 측면에서 수리영의 모니터 확인을 지켜보다가 손과 키보드로 낮게 접근하고, 프린터 쪽으로 옆으로 이동해 출력된 지도를 드러낸다. 이후 지도에서 백팩으로 시선을 내려 그녀가 자료를 챙기는 흐름으로 마무리된다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "Hold slightly longer on the unfolded map so its dense island details read before the camera begins to drift toward the backpack.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low frontal position on the rain-slick coastal road, about 4 meters ahead of Suriyeong's bicycle at chest height, moving backward in line with her path",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera keeps tracking backward as Suriyeong closes the distance, compressing from a full-body view toward her upper body and face.",
            "visual_focus": "Suriyeong leaning forward on the bicycle through heavy rain"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly in front of Suriyeong, slightly below eye level and less than 1 meter from her face, mounted or stabilized to hold pace with the moving bicycle",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera tilts and drops from her face down along the bicycle frame toward the front wheel, following the force of her pedaling into the puddles.",
            "visual_focus": "Suriyeong's rain-struck face, clenched jaw, and fixed forward stare"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Very low near the road surface beside the bicycle's front wheel, close enough to catch splashing water in the foreground",
            "stage_index": 3,
            "stage_label": "impact_detail",
            "transition_to_next": "",
            "visual_focus": "The bicycle wheel cutting through puddles and throwing up rainwater"
          }
        ],
        "flow_summary": "카메라는 해안가 빗속을 달려오는 수리영 앞에서 뒤로 물러나며 그녀의 전신에서 얼굴로 점점 압축된다. 이후 얼굴의 결의에 밀착한 뒤, 움직임의 힘을 따라 아래로 떨어져 바퀴와 물보라로 이어지는 흐름이다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter than the stage default, holding only Suriyeong's face as rain hits her skin and her gaze locks straight ahead.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low inside the dim living room, around ankle height, beginning near the muddy footprints and moving across the disturbed floor toward the room entrance.",
            "stage_index": 1,
            "stage_label": "establishing_disorder",
            "transition_to_next": "The camera rises to chest height and completes its track toward the living room entrance, letting the ruined room lead into Suri-young's frozen presence.",
            "visual_focus": "the muddy footprints, fallen dining chairs, open window, and the disordered living room"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Chest height inside the living room, several feet in front of the entrance, facing Suri-young head-on at medium distance.",
            "stage_index": 2,
            "stage_label": "reaction_at_threshold",
            "transition_to_next": "The camera follows Suri-young's eyeline with a slight pan, then tracks past her toward the half-open bedroom door.",
            "visual_focus": "Suri-young standing rigid at the entrance, breath caught and upper body frozen"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just inside the dark bedroom doorway at eye level, square to the far wall, starting about three meters from the wall and slowly pushing inward.",
            "stage_index": 3,
            "stage_label": "bedroom_reveal",
            "transition_to_next": "The push-in continues toward the center of the red circle until the wall-mounted photograph fills the frame, then cuts down to a hand-level insert after Suri-young removes it.",
            "visual_focus": "the huge red painted circle on the bedroom wall with the old photograph fixed at its center"
          },
          {
            "camera_motion": "static",
            "camera_position": "Hand-height extreme close position over Suri-young's hands, lens nearly parallel to the surface of the old photograph.",
            "stage_index": 4,
            "stage_label": "photo_observation",
            "transition_to_next": "The camera pulls back and tilts up from the photograph to reconnect with Suri-young's stunned reaction, then drifts with her toward the bed.",
            "visual_focus": "the faded photograph showing an old countryside restaurant with a circular sign on the roof and two young girls seated in front"
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside the bedroom at waist-to-chest height, backing away from the bed toward the doorway while keeping Suri-young in frame.",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suri-young collapsing onto the bed, scanning the ruined room, then moving out with the photograph in hand"
          }
        ],
        "flow_summary": "카메라는 발자국과 난장판 거실을 훑어 입구의 수리영을 드러낸 뒤, 그녀의 시선을 따라 방 안 붉은 원으로 밀고 들어간다. 벽의 사진으로 좁혀졌다가 손안의 사진 표면으로 논리적 컷처럼 전환되고, 이후 그녀를 따라 방 밖으로 빠져나갈 준비를 한다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly tighter than the stage default, cutting at the upper body to emphasize her open-mouthed shock and the wet hair gripped in her hand.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the composition dead-center and flatter than the moving stage, making the red circle feel graphic and oppressive before the push-in reaches the photograph.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Use a tighter macro insert than the stage default so the old restaurant roof marker and the two young girls dominate the frame, with Suri-young's hands only implied at the edges.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "On the wet harbor rocks at waist height, about 8 meters behind Su-riyeong, facing over her shoulders toward the fog-covered empty harbor and open water.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to leave the fixed rear vantage, pushing forward from the rocks and panning toward the pier as Su-riyeong notices movement in the fog.",
            "visual_focus": "Su-riyeong's small hunched back against the vacant foggy harbor."
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving from the rock line toward the pier at shoulder height, keeping a medium distance behind and slightly to the side of Su-riyeong as she approaches the incoming boat.",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The track carries the camera to the dock edge, tightening its angle toward the moored boat and settling into the space between Su-riyeong and Inwoo.",
            "visual_focus": "Su-riyeong closing the distance to the boat as its shape becomes clear through the mist."
          },
          {
            "camera_motion": "handheld",
            "camera_position": "At the edge of the pier, chest height and roughly 1.5 meters from Su-riyeong, angled slightly upward past her toward Inwoo standing higher on the boat.",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "After the decision to board, the camera pivots away from the boat with Su-riyeong and shifts to face her from the waterside, letting the foggy sea fall behind her.",
            "visual_focus": "Su-riyeong looking up toward Inwoo while the boat and dock frame their tense exchange."
          },
          {
            "camera_motion": "static",
            "camera_position": "On the pier facing Su-riyeong from close medium distance, lens at mouth-to-eye height, with the fog-heavy sea directly behind her.",
            "stage_index": 4,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Su-riyeong holding the smartphone close to her mouth as she leaves a voice message before departure."
          }
        ],
        "flow_summary": "카메라는 안개 낀 포구의 갯바위 뒤편에서 수리영의 고립감을 먼저 잡은 뒤, 그녀의 시선과 발걸음을 따라 부두와 배 쪽으로 이동한다. 인우와의 짧은 대치 후에는 다시 바다를 등진 수리영 앞으로 돌아서며, 떠나기 전 남기는 음성메시지에 정지한다.",
        "scene_index": 26,
        "shot_assignments": [
          {
            "deviation_note": "Keep the frame wider than the stage default to emphasize the empty harbor around her.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten to an upper-body framing and lower the lens slightly so Su-riyeong's upward gaze toward Inwoo is clear.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Bring the smartphone very close to the lower edge of frame near her mouth while keeping the foggy sea as the background.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the rooftop room near the living area entrance, eye-level at about 1.5 meters, wide distance around 4 meters from Hyesu, facing her frontally across the messy living space.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow push along the same frontal axis, narrowing the distance toward Hyesu while keeping the room's disorder in peripheral view.",
            "visual_focus": "Hyesu standing in the middle of the chaotic rooftop room with a smartphone, frozen by what she has heard."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "On the same frontal axis, eye-level, close distance about 1 meter from Hyesu, compressing the surrounding room into the background.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "At the end of the push-in, the camera pivots and tracks right across the room toward Kim detective, maintaining the same height and tension.",
            "visual_focus": "Hyesu's anxious face and the smartphone in her hand as her question lands in the room."
          },
          {
            "camera_motion": "track",
            "camera_position": "Mid-room, eye-level at about 1.5 meters, medium distance around 1.8 meters from Kim detective, angled from Hyesu's side toward him.",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "After holding on his reaction, the camera continues its lateral movement toward the side of the room and pans toward the old front metal door when the rattling sound takes over.",
            "visual_focus": "Kim detective turning his head toward Hyesu with a dismissive, crooked expression."
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near the side wall of the rooftop room, eye-level, medium-wide distance from the old front metal door, looking past the empty floor space toward the entrance.",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The old front metal door rattling in the wind and the bleak stillness of the rooftop room."
          }
        ],
        "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
          },
          {
            "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": "Wide deck-side position near the stern rail, shoulder height, looking diagonally across the small fishing boat toward the seated Suriyeong and standing Inwoo with the open sea behind them",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow dolly in along the deck axis toward the map and the space between the two characters, narrowing the distance as the conversation sharpens.",
            "visual_focus": "Suriyeong extending the map toward Inwoo on the sunset-lit deck"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close frontal position just in front of Inwoo at eye level, slightly compressed against the deck background, close enough to read his facial shock",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "When Inwoo freezes at the photo, the camera holds his face for a beat, then whips with his sudden movement and gives way to a handheld track toward the wheelhouse.",
            "visual_focus": "Inwoo's face as he recognizes the faded photograph and reacts with panic"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Moving shoulder-height position on the deck, starting beside Inwoo and tracking forward toward the wheelhouse doorway as the boat space rushes past",
            "stage_index": 3,
            "stage_label": "pursuit_transition",
            "transition_to_next": "The camera follows the line of Inwoo's run to the wheelhouse entrance, then slips inside or just across the threshold to face back toward the interruption.",
            "visual_focus": "Inwoo bolting from the deck toward the wheelhouse to turn the boat"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Tight position at the wheelhouse threshold, chest to shoulder height, angled back toward Suriyeong as she intercepts Inwoo near the controls",
            "stage_index": 4,
            "stage_label": "interception",
            "transition_to_next": "",
            "visual_focus": "Suriyeong grabbing Inwoo's forearm with both hands and pulling her weight backward to stop him"
          }
        ],
        "flow_summary": "카메라는 해질녘 갑판의 넓은 거리에서 출발해 지도와 사진이 불러오는 인우의 얼굴 반응으로 점점 파고든다. 인우가 조타실로 튀어나가는 순간부터는 흔들리는 추적 동선으로 전환되어, 조타실 문턱에서 수리영이 그를 제지하는 충돌 지점에 도착한다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the framing into a direct frontal close-up, letting the background fall away so Inwoo's widened eyes and open mouth dominate the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Favor Suriyeong's strained posture and two-handed grip on Inwoo's forearm; keep the handheld energy but stabilize enough to read her backward weight shift clearly.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At shoulder height on the side of the wheelhouse, medium distance from the two figures, lens parallel to their locked bodies in the dim cabin.",
            "stage_index": 1,
            "stage_label": "establishing_tension",
            "transition_to_next": "The camera begins a slow lateral track along their locked arms toward their faces, tightening the emotional pressure without breaking spatial continuity.",
            "visual_focus": "Suriyeong and Inwoo gripping each other in a tense side-on standoff."
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving from the side line into a closer three-quarter position between the helm area and the cabin wall, at face height and within arm's length of the characters.",
            "stage_index": 2,
            "stage_label": "approach_confrontation",
            "transition_to_next": "As the argument shifts to the missing mother and the photograph, the camera continues inward and drops slightly toward the object in Suriyeong's hand before rising back to Inwoo's face.",
            "visual_focus": "The escalating exchange between Suriyeong and Inwoo, with attention pulled toward the photograph."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close to Inwoo's front at eye level, slightly offset so the wall behind his shoulder remains present in the background.",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "When Inwoo freezes, the camera drifts past his shoulder and reorients toward what Suriyeong is seeing on the inner wall.",
            "visual_focus": "Inwoo's drained reaction, with the patterned wall beginning to intrude behind him."
          },
          {
            "camera_motion": "pan",
            "camera_position": "Inside the wheelhouse near the characters' shoulder line, eye level, rotating away from the faces toward the inner wall.",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "The pan completes by squaring the lens directly to the wall, isolating the markings from the characters.",
            "visual_focus": "The wall covered in many circular markings, leading the eye toward the large vivid red circle."
          },
          {
            "camera_motion": "static",
            "camera_position": "Five feet from the inner wall, eye level, lens perpendicular to the surface so the circular markings fill the frame edge to edge.",
            "stage_index": 5,
            "stage_label": "ominous_hold",
            "transition_to_next": "",
            "visual_focus": "The grotesque arrangement of many round symbols and the dominant red circle at the center."
          }
        ],
        "flow_summary": "카메라는 조타실 측면의 팽팽한 대치에서 출발해 두 사람의 얼굴과 사진 쪽으로 천천히 파고든 뒤, 인우의 반응을 지나 벽면의 표식으로 시선을 옮긴다. 마지막에는 인물의 갈등을 잠시 떼어내고 거대한 붉은 원을 정면으로 고정해 불길한 진실을 드러낸다.",
        "scene_index": 29,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wider than the later confrontation beats so both figures' shoulders and arms remain visible as a single locked shape.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Complete the pan and settle into a flatter, more graphic composition so the red circle dominates the center of the wall.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "High wide position above the calm sea at sunset, far from the fog bank, looking slightly downward across the glowing water surface",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward move over the water, lowering its angle toward the distant fog wall.",
            "visual_focus": "the golden sunset reflection spreading across the sea and the distant horizon haze"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low over the water at bow-height distance, advancing toward the massive gray fog bank in the middle of the sea",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The forward movement carries the camera to the edge of the fog, then it eases to a stop as the boat enters the frame and approaches the wall.",
            "visual_focus": "the towering band of dense fog separating the open sea from the obscured space beyond"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low waterline position just ahead and slightly off-center from the small old fishing boat, close enough for the bow to dominate the frame as it meets the fog",
            "stage_index": 3,
            "stage_label": "threshold",
            "transition_to_next": "",
            "visual_focus": "the bow of the small old fishing boat half swallowed by the enormous fog barrier"
          }
        ],
        "flow_summary": "카메라는 노을이 비친 바다의 넓은 전경에서 시작해 수면 가까이로 내려오며 안개 장벽을 향해 전진한다. 마지막에는 안개 앞에서 멈춰, 낡은 소형 어선의 뱃머리가 경계 너머로 사라지는 순간을 정지된 시선으로 붙잡는다.",
        "scene_index": 30,
        "shot_assignments": [
          {
            "deviation_note": "Frame is held as a still composition, with the bow already half obscured by fog rather than showing the full entry movement.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "3fbd7f7a-6650-4431-bd5a-126a95f32871",
  "resolved_model": "gpt",
  "updated_at": "2026-06-18T10:24:49.945692+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}