{
  "status": "completed",
  "completed_count": 60,
  "applicable_count": 60,
  "failed_count": 0,
  "data": {
    "shots": [
      {
        "camera_direction": "A neutral observer holds at upper-body height behind and slightly to one side of 한국인 남성, a few steps back, using a tense medium frame that leaves the upper background space open above his back. 한국인 남성 sits in the lower middle of the frame with his back partly turned, while 검은 인영 is frozen in the upper center behind him, suspended in the dark gap as if the attack has been caught between frames.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "suspended mid-lunge",
            "character": "검은 인영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "hunched mid-stumble",
            "character": "한국인 남성",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "한국인 남성",
              "screen_zone": "lower_center",
              "target_id": "C04",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "moves_toward",
              "gesture_target_label": "the man's back",
              "label": "검은 인영",
              "screen_zone": "upper_center",
              "target_id": "C09",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Dense forest growth compresses the rear space around the suspended figure.",
            "directionality_class": "non_directional",
            "element": "우거진 수풀",
            "orientation": "",
            "state": "dense and surrounding the escape path"
          },
          {
            "camera_use": "The dark space behind the man's back is preserved as the reveal zone.",
            "directionality_class": "non_directional",
            "element": "등 뒤의 어두운 숲 공간",
            "orientation": "",
            "state": "darkened in the dusk setting"
          }
        ],
        "lighting_mood": "Dusk forest light falls off into heavy shadow around the attack space, keeping the suspended figure nearly unreadable.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 4,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "검은 인영 is defined visually as an indistinct dark figure rather than an identity-bearing face or costume; a generic silhouette description better preserves the shot intent.",
            "subject_id": "C09"
          }
        ]
      },
      {
        "camera_direction": "The camera settles from the lateral track into a torso-height side profile, parallel to the impact line, close enough that 한국인 남성 and 검은 인영 share the frame from opposite profile directions. The pinned torso occupies the lower half, while 검은 인영 leans over from the upper side of frame, the composition flattening both bodies into a harsh side-on collision.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "pressing over torso",
            "character": "검은 인영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C04",
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "sprawled under impact",
            "character": "한국인 남성",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Forest floor and low growth give scale to the bodies without overtaking the frame.",
            "directionality_class": "non_directional",
            "element": "숲 바닥과 낮은 수풀",
            "orientation": "",
            "state": "present around the pinned bodies"
          },
          {
            "camera_use": "The side background remains compressed and dark, emphasizing the profile impact.",
            "directionality_class": "non_directional",
            "element": "측면의 어두운 숲 공간",
            "orientation": "",
            "state": "darkened in the dusk setting"
          }
        ],
        "lighting_mood": "Dusk ambient light is kept low and contrasty, separating the man's body from the nearly featureless dark figure.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 5,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "검은 인영 remains an indistinct attacking silhouette with no readable identity features in this side impact shot.",
            "subject_id": "C09"
          }
        ]
      },
      {
        "camera_direction": "A neutral observer pushes in to within arm's length, slightly below 한국인 남성's eye line, tightening the frontal three-quarter angle into a close eye-area frame. His lifted brow and red eyes occupy most of the frame, with the surrounding alley reduced to a narrow band of darkness at the edges.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "head lifting sharply",
            "character": "한국인 남성",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "The dark alley background is suppressed to keep attention on the eyes.",
            "directionality_class": "non_directional",
            "element": "뒷골목의 어둠",
            "orientation": "",
            "state": "dark at night"
          },
          {
            "camera_use": "Faint streetlight influence is present but mostly off-frame, catching only minimal facial detail.",
            "directionality_class": "directional_3d",
            "element": "희미한 가로등",
            "orientation": "the fixture itself is not emphasized; its direction is felt from above the alley space",
            "state": "lit faintly"
          }
        ],
        "lighting_mood": "Faint urban streetlight barely defines the face while the red eyes become the only sharp color accent.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera completes its slide to neck height at the pair's side and locks into a close, nearly perpendicular profile composition. 한국인 남성's mouth and 한국인 여성's neck dominate the center, with faces cropped aggressively so the bite reads as a physical contact rather than a graphic display.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "neck bent biting",
            "character": "한국인 남성",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "neck exposed slack",
            "character": "한국인 여성",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "The utility pole remains as a close background anchor for the tangled bodies.",
            "directionality_class": "directional_3d",
            "element": "전봇대",
            "orientation": "its side plane runs vertically behind the two profiles",
            "state": "present behind the two people"
          },
          {
            "camera_use": "The alley darkness closes around the cropped neck-level frame.",
            "directionality_class": "non_directional",
            "element": "도시 뒷골목의 어두운 배경",
            "orientation": "",
            "state": "dark at night"
          }
        ],
        "lighting_mood": "The faint streetlight gives just enough edge definition to the profiles, with the rest held in dark, muted contrast.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 3,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only the lower facial area and biting posture are framed, so a full outlook reference would be unreliable for 한국인 남성.",
            "subject_id": "C04"
          },
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "한국인 여성 is represented mainly by neck and partial profile detail, not a full identity-bearing portrait.",
            "subject_id": "C08"
          }
        ]
      },
      {
        "camera_direction": "Seen as local-news observational footage, the camera is inside the police line at eye level, directly aligned with 혜수's gaze toward the controlled area. She is held in a frontal upper-body medium frame at center, shoulders squared forward, while the investigation activity and police tape sit behind and around her as controlled pressure rather than background clutter.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "shoulders squared forward",
            "character": "혜수",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Police tape marks the controlled boundary behind and beside 혜수.",
            "directionality_class": "content_surface",
            "element": "폴리스 라인",
            "orientation": "the camera-facing tape surface is visible as a boundary strip associated with the investigation area",
            "state": "set up at the scene"
          },
          {
            "camera_use": "Police activity compresses the background into an active investigation field.",
            "directionality_class": "non_directional",
            "element": "감식 중인 현장",
            "orientation": "",
            "state": "police are examining the scene and collecting bodies"
          }
        ],
        "lighting_mood": "Daytime ambient light is kept sober and factual, matching the news-footage quality without stylized color shifts.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 3,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "A neutral static camera stands at rooftop level several meters from the old rooftop room exterior wall, facing it nearly square-on in a wide architectural frame. The wall sits centered and flat against the frame, with the rooftop context left visible at the edges so the room feels built onto the villa roof rather than isolated.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary architectural subject held square to camera.",
            "directionality_class": "directional_3d",
            "element": "낡은 옥탑방 외벽",
            "orientation": "the exterior wall's front face is nearly square to the camera",
            "state": "old"
          },
          {
            "camera_use": "Provides spatial context for the rooftop room.",
            "directionality_class": "non_directional",
            "element": "빌라 옥상 공간",
            "orientation": "",
            "state": "present around the rooftop room"
          }
        ],
        "lighting_mood": "Midday daylight strikes the rooftop room exterior plainly, keeping the image observational rather than expressionistic.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 4,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From standing eye height near the small-window side of the living room, the camera finishes its pan into a tighter medium frame across the room toward 민숙 and the far corner. 민숙 is held near the center with her body angled slightly away from camera, leaving a narrow wedge of empty corner space on the side of her eyeline as the emphasized change from the prior flow.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "frozen mid-room",
            "character": "민숙",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "living room corner",
              "label": "민숙",
              "screen_zone": "middle_center",
              "target_id": "C06",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "living room corner",
              "screen_zone": "middle_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "The corner receives her fixed eyeline and becomes the psychological target of the frame.",
            "directionality_class": "directional_3d",
            "element": "거실 구석",
            "orientation": "the corner's inward-facing planes angle away from the camera beyond 민숙's line of sight",
            "state": "present"
          },
          {
            "camera_use": "The camera is positioned near this side, using it to motivate the direction of sunlight and room depth.",
            "directionality_class": "transparent_surface",
            "element": "거실의 작은 창",
            "orientation": "the window surface is to the camera side, with sunlight entering the room; exterior detail is not emphasized",
            "state": "sunlight comes through"
          },
          {
            "camera_use": "Domestic background sound and motion tension remain present outside the primary focus.",
            "directionality_class": "directional_3d",
            "element": "싱크대 수도꼭지",
            "orientation": "the faucet side is visible in the room background if included at frame edge",
            "state": "water running"
          }
        ],
        "lighting_mood": "Thin sunlight from the small living-room window cuts the interior gently, contrasting 민숙's fixed, dark expression with ordinary daylight.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At seated eye height in front of the table, the camera has settled from the dolly-in into a medium frame favoring 수리영's face and propped arm. She sits across the table in a three-quarter angle, her elbow and hand forming a small foreground diagonal while the turned-off TV and kitchen activity recede into the room behind her.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "chin propped on hand",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "The table anchors 수리영's bored posture and keeps the shot at seated height.",
            "directionality_class": "directional_3d",
            "element": "식탁",
            "orientation": "the near table edge runs across the lower frame toward 수리영",
            "state": "in use during the conversation"
          },
          {
            "camera_use": "The screen sits in the background as a recently suppressed news source.",
            "directionality_class": "content_surface",
            "element": "TV",
            "orientation": "the screen face is visible but dark, carrying no active image",
            "state": "turned off"
          },
          {
            "camera_use": "Kitchen details maintain the domestic routine behind the dialogue.",
            "directionality_class": "directional_3d",
            "element": "냄비",
            "orientation": "the pot is seen from the room side in the background",
            "state": "water boiling with steam rising"
          }
        ],
        "lighting_mood": "Soft interior daylight from the small window keeps the table scene natural, while the muted room tones hold a slight unease beneath the everyday conversation.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The dolly-in resolves into an extreme insert at lower chest height, lens nearly perpendicular to 민숙's wrist skin, excluding faces and most room context. The circular mark sits slightly off-center in the close frame, with only enough surrounding wrist and sleeve area to keep the scale human and tactile.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "wrist turned outward",
            "character": "민숙",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary visual detail isolated by the close lens.",
            "directionality_class": "content_surface",
            "element": "민숙 손목의 작은 원형 표식",
            "orientation": "the camera sees the outer wrist skin surface with the circular mark clearly visible on it",
            "state": "unusually clear"
          },
          {
            "camera_use": "Only a minimal trace of the surrounding interior remains out of focus for scale.",
            "directionality_class": "non_directional",
            "element": "옥탑방 실내 배경",
            "orientation": "",
            "state": "present but excluded from focus"
          }
        ],
        "lighting_mood": "Existing interior daylight remains restrained and even, letting the sharply visible circular mark carry the tension without added stylization.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 15,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The shot isolates 민숙's wrist and mark while excluding her face, so a full outlook reference would not align with the visible subject.",
            "subject_id": "C06"
          }
        ]
      },
      {
        "camera_direction": "A neutral side-tracking camera rides at bicycle-seat height a few meters lateral to 수리영, looking perpendicular to her direction of travel in a clean medium side profile. She sits on the saddle with one pedal driven downward, hair trailing behind her movement, while the road line and bicycle frame cut horizontally through the lower half of the image.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "pressing down pedal",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "screen right along the coastal road",
              "label": "수리영 on bicycle",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "The road supplies the horizontal motion axis for the tracking shot.",
            "directionality_class": "non_directional",
            "element": "해안가 도로",
            "orientation": "",
            "state": "daytime road setting"
          },
          {
            "camera_use": "The bicycle frame and wheels define her riding posture and speed without overtaking the frame.",
            "directionality_class": "directional_3d",
            "element": "자전거",
            "orientation": "seen in side profile, parallel to the camera plane",
            "state": "being ridden"
          },
          {
            "camera_use": "Earphones help show her relaxed, lively state while riding.",
            "directionality_class": "non_directional",
            "element": "이어폰",
            "orientation": "",
            "state": "worn by 수리영"
          }
        ],
        "lighting_mood": "Daylight sunlight keeps the coastal-road ride bright and energetic, contrasting with the darker preceding interiors.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 6,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From inside the enclosure, the camera sits low at the large dog's head height, close to the front bars and locked head-on to the open mouth. The dog's raised forelegs sit in the upper corners while the exposed teeth hold the center of frame; the bars remain as hard vertical interruptions between camera and threat, with no attempt to follow motion.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Vertical foreground obstruction that traps the dog inside the frame and reinforces the enclosure line.",
            "directionality_class": "directional_3d",
            "element": "front enclosure bars",
            "orientation": "The bars face the camera as a flat frontal barrier between lens and dog.",
            "state": "closed enclosure implied"
          },
          {
            "camera_use": "Compressed background plane behind the dog, keeping attention on the lunge rather than the surrounding shelter.",
            "directionality_class": "non_directional",
            "element": "inside of the dog enclosure",
            "orientation": "",
            "state": "not specified"
          }
        ],
        "lighting_mood": "Daytime ambient light appropriate to the animal shelter setting, shaped in high contrast without adding a specific ungrounded source or color.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera returns inside the same enclosure but now sits nearer the floor and a little farther back, angled slightly down so the full change in the dog's body reads at once. The lying body runs diagonally across the frame, with the lowered tail kept visible near one side and the half-closed eyes held near the opposite third, turning the earlier frontal threat into a still record of submission.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Low foreground and side boundary that keep the dog visually contained without overpowering the calmer pose.",
            "directionality_class": "directional_3d",
            "element": "enclosure bars",
            "orientation": "The bars are seen from inside at a slight angle, no longer as a direct frontal wall.",
            "state": "closed enclosure implied"
          },
          {
            "camera_use": "Ground plane supporting the dog's lowered posture and emphasizing the drop from aggression to calm.",
            "directionality_class": "non_directional",
            "element": "enclosure floor",
            "orientation": "",
            "state": "not specified"
          }
        ],
        "lighting_mood": "Daytime ambient shelter light remains restrained and grounded, with contrast focused on the dog's lowered silhouette rather than any stylized color source.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At street level ahead of 수리영's path, the tracking camera moves backward in a wider frontal three-quarter view so her full body and bicycle remain visible. She occupies the center-left of frame while the road opens behind her through neon signs, taxis, street vendors, and storefront activity, making her forward motion feel urgent without losing the busy street context.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "seated pedaling hard",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Moving urban background that establishes the commercial district she cuts through.",
            "directionality_class": "directional_3d",
            "element": "busy street roadway",
            "orientation": "The roadway recedes behind 수리영 along the bicycle's travel axis.",
            "state": "not specified"
          },
          {
            "camera_use": "Visible crimson-accented city signage within the street background.",
            "directionality_class": "content_surface",
            "element": "red neon signs",
            "orientation": "The lit sign faces are visible to camera as colored commercial text or shapes along the street.",
            "state": "on"
          },
          {
            "camera_use": "Background traffic elements that add scale and street density around the bicycle path.",
            "directionality_class": "directional_3d",
            "element": "taxis",
            "orientation": "Vehicles are seen in street-facing angles around and behind the bicycle route.",
            "state": "present"
          },
          {
            "camera_use": "Side-background street activity framing the path without taking focus from 수리영.",
            "directionality_class": "directional_3d",
            "element": "street food stalls",
            "orientation": "Stall fronts and side edges face the street corridor the camera tracks along.",
            "state": "present"
          }
        ],
        "lighting_mood": "Twilight street ambience is punctuated by the red neon signs specified in the scene, keeping the palette muted except for restrained crimson accents.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the store, the camera is less than an arm's length from 수리영 on the line between her and the male employee, tightening into her widened eyes and frozen expression. The 남자 직원 is reduced to a soft shoulder-and-box edge at one side of the frame, so the only emphasized change is her locked eyeline toward him after the unsettling information.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "rigid forward lean",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C07",
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "box braced at torso",
            "character": "남자 직원",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft contextual background indicating the mart interior without competing with the reaction close-up.",
            "directionality_class": "directional_3d",
            "element": "store shelving",
            "orientation": "Shelf faces are angled away behind the conversation area.",
            "state": "not specified"
          },
          {
            "camera_use": "Foreground clue to the male employee's presence and his stocking action, kept partial and out of focus.",
            "directionality_class": "directional_3d",
            "element": "stocking box",
            "orientation": "One box side faces the camera obliquely beside the male employee's torso.",
            "state": "being carried or held"
          }
        ],
        "lighting_mood": "Ambient store light is kept neutral and unembellished, with shadow contrast concentrated around 수리영's fixed face.",
        "perception_mode": "direct",
        "perspective": "over_shoulder",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 9,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Outside the store entrance, the camera holds directly in front of 수리영 at a tight facial distance, preserving the frontal axis because the smartphone pressed to her ear must read unmistakably. Her face and hand fill most of the frame, with the phone kept along one cheek and the entrance background falling shallow behind her.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "phone pressed to ear",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Rear spatial cue showing she has come back outside the mart while attempting the call.",
            "directionality_class": "directional_3d",
            "element": "store entrance exterior",
            "orientation": "The entrance faces the camera from behind 수리영.",
            "state": "not specified"
          },
          {
            "camera_use": "Contact prop defining the failed-call action, kept smaller than the face and hand rather than oversized.",
            "directionality_class": "directional_3d",
            "element": "smartphone",
            "orientation": "The phone's side edge is pressed against 수리영's ear; the screen face is not the visual subject.",
            "state": "held to ear"
          }
        ],
        "lighting_mood": "Twilight exterior ambience from the mart frontage and street surroundings is kept tense and naturalistic, without adding an ungrounded specific light color beyond the established setting.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 11,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Tracking parallel beside 수리영's front quarter, the camera stays low-to-mid and tight enough to catch the mid-pedal downstroke, her bent back, and both hands clamped on the handlebar. She cuts across the frame from one side toward the other while her hair and clothing pull backward, making the urgent ride read through body strain rather than a wide landscape view.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "crouched over handlebars",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Lateral motion background that confirms she is rushing along the coastal road at night.",
            "directionality_class": "directional_3d",
            "element": "coastal road",
            "orientation": "The road runs parallel to the camera track beside the bicycle.",
            "state": "night setting"
          },
          {
            "camera_use": "Primary vehicle frame supporting the forceful pedaling action.",
            "directionality_class": "directional_3d",
            "element": "bicycle handlebar and front frame",
            "orientation": "The handlebar is seen from the side-front quarter, aligned with 수리영's clenched grip.",
            "state": "in motion"
          }
        ],
        "lighting_mood": "Night ambience is dark and high-contrast as described, with no additional specific light source introduced.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 9,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At hand height, the camera presses perpendicular to the rooftop room's closed metal entrance-door gap, tighter than the flow default so the man's hand is excluded. The paper flyer and narrow seam sit centered as an insert-like detail, with the door surface cropped close enough that the lock release feels implied rather than shown.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary focal detail showing the improvised tampering point at the closed entrance.",
            "directionality_class": "content_surface",
            "element": "advertising paper flyer",
            "orientation": "Only the exposed strip and edge of the printed advertising face are visible where it is caught in the door gap.",
            "state": "caught in the door gap"
          },
          {
            "camera_use": "Hard surrounding plane that isolates the narrow opening and keeps the shot mechanical and tense.",
            "directionality_class": "directional_3d",
            "element": "metal entrance door",
            "orientation": "The outer door face is viewed almost square-on at the seam.",
            "state": "closed"
          },
          {
            "camera_use": "Thin negative space that becomes the visual target of the dolly-in.",
            "directionality_class": "directional_3d",
            "element": "door gap",
            "orientation": "The gap appears as a narrow vertical seam perpendicular to the lens.",
            "state": "narrow opening at the seam"
          }
        ],
        "lighting_mood": "Nighttime ambient light on the rooftop exterior is kept minimal and grounded, without specifying an unprovided source or color.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Outside the window at window height, the camera does not look directly into the room but fixes on the glass where the reflected silhouettes compress into one violent shape. The upper shadow mass bears down from the upper frame into the lower figure's shoulder area, creating impact through overlapping silhouettes and reflection rather than graphic detail.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "pressing down shoulder",
            "character": "검은 인영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "profile_left",
            "body_pose": "folding under weight",
            "character": "민숙",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Reflective surface that carries the entire action indirectly, preventing a direct interior view.",
            "directionality_class": "reflective_surface",
            "element": "window glass",
            "orientation": "The glass reflects the two overlapping shadow figures, with the upper silhouette pressing into the lower silhouette.",
            "state": "reflecting silhouettes"
          },
          {
            "camera_use": "Static boundary that holds the reflected action inside a tight exterior frame.",
            "directionality_class": "directional_3d",
            "element": "window frame",
            "orientation": "The window frame edges face the camera around the reflected figures.",
            "state": "not specified"
          }
        ],
        "lighting_mood": "The reflected night image is held in deep contrast, emphasizing silhouette and shadow without adding explicit gore or an ungrounded light source.",
        "perception_mode": "reflection",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 8,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The upper figure is visible only as a reflected shadow silhouette; detailed outlook identity would over-specify what the shot withholds.",
            "subject_id": "C09"
          },
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "민숙 is perceived only as the lower reflected silhouette under attack, so a generic shadowed human form is more accurate than an outlook-based identity reference.",
            "subject_id": "C06"
          }
        ]
      },
      {
        "camera_direction": "Midway up the added exterior metal staircase, the camera stops close in front of 수리영 at eye level, slightly offset toward the open side of the stairs. Her tightened face and wrinkled nose fill the frame while only slivers of pipe railing and open metal treads remain at the edges to hold her position on the staircase.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "paused on stair tread",
            "character": "수리영",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Edge context proving she has stopped on the exterior stair, not in an interior hallway.",
            "directionality_class": "directional_3d",
            "element": "added exterior metal staircase",
            "orientation": "Open treads, thin steel-plate stringer edges, support posts, and pipe railing are glimpsed obliquely beside her.",
            "state": "fixed to building exterior"
          },
          {
            "camera_use": "Narrow side frame that gives a sense of height and exposure while keeping focus on her reaction.",
            "directionality_class": "directional_3d",
            "element": "pipe railing",
            "orientation": "The railing runs diagonally along the frame edge beside 수리영.",
            "state": "not specified"
          }
        ],
        "lighting_mood": "Night ambience stays stark and subdued, with the mood carried by shadow and her physical reaction rather than a specified new light source.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the top stair level, the camera holds a fully static, centered view of the rooftop room entrance, removing 수리영 from the frame. The half-open metal door sits squarely in the middle, its dark interior gap taking the visual weight while the surrounding rooftop threshold remains still and uninviting.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Sole reveal subject, centered as the destination of 수리영's eyeline from the previous shot.",
            "directionality_class": "directional_3d",
            "element": "rooftop room metal front door",
            "orientation": "The door front faces camera nearly square-on, with the opened leaf creating a dark angled gap.",
            "state": "half-open"
          },
          {
            "camera_use": "Negative space beyond the door opening that carries the threat of what may be inside.",
            "directionality_class": "non_directional",
            "element": "darkness beyond the doorway",
            "orientation": "",
            "state": "dark interior visible through opening"
          },
          {
            "camera_use": "Approach plane from the exterior stairs to the door, kept simple so the entrance remains the only subject.",
            "directionality_class": "directional_3d",
            "element": "top stair landing",
            "orientation": "The landing faces the camera as the flat approach area before the doorway.",
            "state": "not specified"
          }
        ],
        "lighting_mood": "Night exterior ambience is restrained and shadow-heavy, leaving the half-open doorway as a dark, unresolved reveal.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow’s seated-body height position about an arm’s reach in front of 민숙, the dolly-in has reached its closest hold, angled slightly downward from 수리영’s side of the room. The frame is a tight close composition isolating 민숙’s lowered head edge, shoulder, and collarbone area in the center-left, with only enough surrounding floor and curtain edge to confirm she is seated rather than turning the full body into the subject.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "slumped seated head dropped",
            "character": "민숙",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Narrow peripheral context behind the body, helping frame the concealed corner where 민숙 is found.",
            "directionality_class": "directional_3d",
            "element": "curtain",
            "orientation": "The curtain edge is seen from the room side, pulled aside enough to reveal the seated body area.",
            "state": "drawn aside"
          },
          {
            "camera_use": "Low background plane beneath the seated body, grounding the close observation at floor level.",
            "directionality_class": "content_surface",
            "element": "bedroom floor",
            "orientation": "The upward-facing floor surface visible near the body carries blood from the discovery scene.",
            "state": "blood present"
          }
        ],
        "lighting_mood": "Dim interior night lighting from the established room environment keeps the injury legible while the red of the blood remains the restrained color accent.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 8,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The shot isolates 민숙’s injured shoulder and collarbone area rather than presenting a full identifying portrait; base character identity is enough while outlook-specific face reference may mislead.",
            "subject_id": "C06"
          }
        ]
      },
      {
        "camera_direction": "Continuing from the previous body close-up, the camera lowers and tightens into an extreme low close view of 민숙’s hand, angled down toward the fingers with the wrist kept just beside the main focus. The crumpled old photo sits between blood-covered fingers near the center of frame, taking the visual emphasis, while the wrist remains a narrow contextual strip at the edge.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "fingers gripping photo",
            "character": "민숙",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary object detail caught between the fingers, used as the visual clue that pulls the camera away from the wound.",
            "directionality_class": "content_surface",
            "element": "crumpled old photo",
            "orientation": "The creased image-bearing face is partially visible between 민숙’s fingers, with its readable side turned toward the camera only in fragments.",
            "state": "crumpled"
          },
          {
            "camera_use": "Immediate context beside the hand, keeping the supernatural mark close to the clue without overtaking it.",
            "directionality_class": "content_surface",
            "element": "wrist mark",
            "orientation": "The marked side of the wrist faces partly upward toward the camera, positioned near but not centered in the frame.",
            "state": "present"
          },
          {
            "camera_use": "Low support plane under the hand, preserving the floor-level continuation from the body reveal.",
            "directionality_class": "content_surface",
            "element": "bedroom floor",
            "orientation": "The upward-facing floor surface sits beneath the hand and photo, carrying blood from the discovery scene.",
            "state": "blood present"
          }
        ],
        "lighting_mood": "The low interior night mood stays subdued, with the blood and the old photo’s texture carrying the shot’s visual contrast.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 12,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only 민숙’s hand and nearby wrist are framed; a full outlook reference is unnecessary and could conflict with the hand-detail composition.",
            "subject_id": "C06"
          }
        ]
      },
      {
        "camera_direction": "At the end of the tilt from the hand line, the camera locks near the bed at standing chest height, facing the center of the wall above the bed. The red circular outline is centered with severe stillness, while the bed edge stays low in frame as a scale anchor and the rest of the room is minimized.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Primary fixed focal surface where the new mark appears, creating the final horror point of the camera flow.",
            "directionality_class": "content_surface",
            "element": "wall above the bed",
            "orientation": "The visible wall face is turned squarely toward the camera and carries a clear red circular outline at its center.",
            "state": "red circular outline present"
          },
          {
            "camera_use": "Lower frame anchor beneath the marked wall, confirming the mark’s position above the bed without drawing attention away.",
            "directionality_class": "directional_3d",
            "element": "bed",
            "orientation": "The bed is seen from the foot/side area low in frame, with its top plane receding toward the marked wall.",
            "state": "present"
          }
        ],
        "lighting_mood": "Muted night interior lighting leaves the wall heavy and plain so the red circular outline reads as the only strong color accent.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 14,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Derived from the lateral street-level track at the stair base, the camera holds in a close side two-shot at a height between 혜수’s hands and 수리영’s face. 혜수’s hands on 수리영’s shoulders form the central physical anchor, with both figures in profile and the added metal exterior stair structure held just behind them as context.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "hands gripping shoulders",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "profile_left",
            "body_pose": "shoulders slack under hands",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Background geometry identifying the stair base where the contact stops 수리영’s movement.",
            "directionality_class": "directional_3d",
            "element": "added exterior metal stair",
            "orientation": "The stair base and pipe railing are seen from the side, with open steps rising behind the two figures along the building exterior.",
            "state": "present"
          },
          {
            "camera_use": "Ground-level setting plane for the stopped contact moment.",
            "directionality_class": "non_directional",
            "element": "street-level area at stair base",
            "orientation": "",
            "state": "present"
          }
        ],
        "lighting_mood": "Night exterior ambience keeps the figures tense and partially shadowed without adding any ungrounded weather or atmospheric effect.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Maintaining the exchange axis from 수리영’s side, the camera pushes past the prior two-person geometry into a tight eye-level close-up of 혜수. 수리영 is excluded except as the off-frame eyeline source, so 혜수’s widened eyes and parted lips occupy most of the frame while the stair-base background falls away.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "shoulders tightening forward",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Hyesu isolated reaction",
              "screen_zone": "middle_center",
              "target_id": "C02",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft contextual background behind 혜수’s reaction, reduced so the face carries the shock.",
            "directionality_class": "directional_3d",
            "element": "exterior metal stair base",
            "orientation": "Only a partial side of the stair structure and railing sits out of emphasis behind 혜수.",
            "state": "present"
          }
        ],
        "lighting_mood": "The night exterior lighting is restrained, letting the shock register through facial contrast rather than a new light source.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow’s eye-level position just inside the bedroom doorway, the camera stays static and slightly wider on the doorway axis, looking across the open floor toward the bed and wall. No character is emphasized; the clean floor occupies the lower half, the orderly bed sits to one side, and the bare wall above it holds the unsettling absence where the red mark should have been.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary absence cue across the lower frame, proving the previous blood trail is gone.",
            "directionality_class": "content_surface",
            "element": "bedroom floor",
            "orientation": "The upward-facing floor surface is visible across the foreground and midground with no blood on it.",
            "state": "clean, no blood"
          },
          {
            "camera_use": "Primary absence cue above the bed, contrasting the earlier red circle.",
            "directionality_class": "content_surface",
            "element": "wall above the bed",
            "orientation": "The visible wall face is turned toward the camera and has no red circular marking.",
            "state": "bare, no red marking"
          },
          {
            "camera_use": "Orderly room anchor that reinforces the impossible reset of the space.",
            "directionality_class": "directional_3d",
            "element": "bed",
            "orientation": "The bed is seen from the doorway side, arranged neatly within the room layout.",
            "state": "orderly"
          },
          {
            "camera_use": "Peripheral hiding place now emptied, included only enough to confirm the body is gone.",
            "directionality_class": "directional_3d",
            "element": "curtain area",
            "orientation": "The curtain area is visible from inside the doorway axis with no body behind it.",
            "state": "no body visible"
          }
        ],
        "lighting_mood": "Interior night lighting remains plain and controlled, making the room’s excessive cleanliness feel evidentiary rather than comforting.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Following the flow’s move inward from the room reveal, the camera holds the same frontal axis and dollies into a close eye-level view of 수리영 near the center of the room. Her pale, stunned face fills the frame, with the clean room reduced to soft margins behind her so only the camera distance changes from the prior wide absence shot.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "frozen mid-room recoil",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Suriyoung stunned close view",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Blurred confirmation behind 수리영 that the room remains clean despite her reaction.",
            "directionality_class": "content_surface",
            "element": "bedroom wall",
            "orientation": "The visible wall face behind her remains bare, with no red circular marking.",
            "state": "bare, no red marking"
          },
          {
            "camera_use": "Reduced background context below the close-up, preserving the absence of blood without competing with the face.",
            "directionality_class": "content_surface",
            "element": "bedroom floor",
            "orientation": "Only a limited upward-facing portion is visible behind and below her, still clean.",
            "state": "clean, no blood"
          }
        ],
        "lighting_mood": "Neutral interior night ambience keeps her face drained and the background unnervingly ordinary.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At seated head height beside the bus stop bench, the camera holds static close to 수리영’s side, looking across her profile toward the dark sea beyond the stop area. 수리영 is bent forward on the bench in the middle-left of frame, her vacant stare carried past the frame line while the bench and shoreline space stretch horizontally behind her.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "hunched on bench",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Seated anchor beside 수리영, establishing her isolation before the interaction with 혜수.",
            "directionality_class": "directional_3d",
            "element": "bus stop bench",
            "orientation": "The bench is seen from the side, running laterally through the frame with 수리영 perched along it.",
            "state": "present"
          },
          {
            "camera_use": "Distant emotional backdrop in the direction of 수리영’s stare.",
            "directionality_class": "non_directional",
            "element": "sea beyond the bus stop area",
            "orientation": "",
            "state": "dark night sea present"
          },
          {
            "camera_use": "Location marker framing the bench area without overpowering the profile.",
            "directionality_class": "directional_3d",
            "element": "bus stop area",
            "orientation": "The stop is viewed from beside the bench line, with its structure kept secondary to 수리영’s profile.",
            "state": "present"
          }
        ],
        "lighting_mood": "Night coastal ambience is subdued, leaving 수리영’s profile and the dark sea in a quiet, uncertain mood.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Cutting away from the intimate bench line, the camera becomes a distant static watcher from beyond a tree shadow at standing eye height, looking back toward the bus stop and the road direction. 혜수 remains near the bus stop under the streetlight in the background-left, while 수리영’s back is already separated in the right foreground/midground path, running away from her.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "one arm lifted calling",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "running away mid-stride",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Hyesu under streetlight near bus stop",
              "screen_zone": "middle_left",
              "target_id": "C02",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "road direction away from the bus stop",
              "label": "Suriyoung running away",
              "screen_zone": "middle_right",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "bus stop and streetlight area",
              "screen_zone": "middle_left",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Foreground concealment layer that turns the shot into a watched-from-afar perspective.",
            "directionality_class": "non_directional",
            "element": "tree shadow",
            "orientation": "",
            "state": "present"
          },
          {
            "camera_use": "Background anchor around 혜수, separating her from 수리영’s retreating path.",
            "directionality_class": "directional_3d",
            "element": "bus stop",
            "orientation": "The bus stop is seen from a distant oblique angle, with 혜수 positioned near it.",
            "state": "present"
          },
          {
            "camera_use": "Established local light source holding 혜수 in place while 수리영 exits the interaction space.",
            "directionality_class": "directional_3d",
            "element": "streetlight",
            "orientation": "The streetlight stands near the bus stop area, its lit side affecting the space around 혜수.",
            "state": "on"
          },
          {
            "camera_use": "Direction of 수리영’s departure, extending away from the bus stop.",
            "directionality_class": "non_directional",
            "element": "road direction",
            "orientation": "",
            "state": "present"
          }
        ],
        "lighting_mood": "The streetlight isolates 혜수 near the bus stop while the surrounding night keeps the distant observer angle uneasy.",
        "perception_mode": "direct",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Beside the desk area at seated head height, the camera holds a medium upper-body view of 김형사 deep in his chair, nearly front-on but slightly off-axis toward 혜수’s side. The computer monitor sits just out of central dominance, its glow catching his face as he looks toward 혜수 from the chair, while the office remains secondary around him.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "reclined deep in chair",
            "character": "김형사",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Local light emphasis specified for this reaction, shaping 김형사’s face without taking over the frame.",
            "directionality_class": "content_surface",
            "element": "computer monitor",
            "orientation": "The illuminated screen face is angled partly toward 김형사 and partly toward camera, showing screen glow rather than readable content.",
            "state": "on"
          },
          {
            "camera_use": "Seated workplace anchor for 김형사’s duty-night posture.",
            "directionality_class": "directional_3d",
            "element": "desk area",
            "orientation": "The desk is viewed from the side/front corner near the chair, framing the office work space around him.",
            "state": "present"
          },
          {
            "camera_use": "Support for his deep seated posture, visible enough to define his relaxed resistance before the phone request.",
            "directionality_class": "directional_3d",
            "element": "office chair",
            "orientation": "The chair back faces partly toward camera as 김형사 reclines into it.",
            "state": "occupied"
          }
        ],
        "lighting_mood": "The computer monitor glow provides the local illumination on 김형사, with the rest of the police office kept in subdued night-duty ambience.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow’s chest-height position between 혜수 and 김형사, the camera is pushed tight along 혜수’s extended forearm so the smartphone sits in the center foreground, its screen angled toward 김형사 at the right edge. This is a direct observer view, shallow and compressed, with 혜수’s hand and the offered screen occupying most of the frame while 김형사’s reaction is kept partial and slightly beyond the phone line.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "arm extended forward",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning toward phone",
            "character": "김형사",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "primary foreground focal point; its face defines the direction of the exchange",
            "directionality_class": "content_surface",
            "element": "smartphone screen",
            "orientation": "the active screen face is turned toward 김형사, showing the saved 민숙 phone number",
            "state": "number displayed"
          },
          {
            "camera_use": "soft background context behind 김형사, keeping the police-office setting legible without competing with the hand",
            "directionality_class": "directional_3d",
            "element": "police office work area",
            "orientation": "the side behind 김형사 faces the camera obliquely",
            "state": "night-duty office occupied by 김형사"
          }
        ],
        "lighting_mood": "Night office ambient light is kept restrained and high-contrast, with attention concentrated on the phone presentation rather than a specific colored source.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 3,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "혜수 is represented mainly by the extended hand and forearm, so an outlook-based face reference would not align with the close-up.",
            "subject_id": "C02"
          }
        ]
      },
      {
        "camera_direction": "A static wide exterior frame holds from across the rooftop room, slightly below the window height, placing the lit window in the upper middle of the composition with the surrounding roof area left quiet around it. The camera remains an impersonal observer and does not yet follow the cat’s lower wall-line movement, preserving this as the calm starting point of the flow.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "main visual anchor in the establishing composition",
            "directionality_class": "transparent_surface",
            "element": "rooftop room window",
            "orientation": "the camera faces the window from outside, with yellow interior light visible through it",
            "state": "light on inside"
          },
          {
            "camera_use": "spatial frame around the window, establishing the rooftop room exterior before movement begins",
            "directionality_class": "directional_3d",
            "element": "rooftop room exterior",
            "orientation": "the window-facing side of the rooftop room is presented from a slightly lower exterior angle",
            "state": "seen at dawn"
          }
        ],
        "lighting_mood": "Bluish dawn light surrounds the exterior while yellow light leaks from the rooftop room window.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 17,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera stays low at floor height near the foot of the bed, side-on to 수리영 at close range, so her profile and folded body sit in the lower half of the frame while the bed mass presses above her. This direct observer view emphasizes stillness: her head rests against the mattress, eyes closed, before any wake-up movement breaks the composition.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "head against mattress",
            "character": "수리영",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "large stabilizing background form that 수리영 physically leans against",
            "directionality_class": "directional_3d",
            "element": "bed and mattress edge",
            "orientation": "the foot-side and lower mattress edge face the low side camera",
            "state": "수리영 rests her head against it"
          },
          {
            "camera_use": "low foreground plane that places the viewer at 수리영’s level",
            "directionality_class": "non_directional",
            "element": "floor at the foot of the bed",
            "orientation": "",
            "state": "morning sunlight falls on it"
          }
        ],
        "lighting_mood": "Morning sunlight falls into the room, kept soft but uneasy around 수리영’s still body.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At standing height directly in front of the bathroom mirror, the camera locks close on the mirror surface so the reflected tile wall occupies the frame and 수리영 is excluded from the primary view. The composition is flat and static, using the mirror’s reversed space to make the red circular outline feel trapped on the reflected wall rather than safely located in the real room.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "the shot’s perceptual medium and main framing surface",
            "directionality_class": "reflective_surface",
            "element": "bathroom mirror",
            "orientation": "the mirror reflects the bathroom tile wall behind 수리영, including the sudden red circular outline",
            "state": "reflection visible"
          },
          {
            "camera_use": "reflected focal plane carrying the uncanny sign",
            "directionality_class": "content_surface",
            "element": "reflected bathroom tile wall",
            "orientation": "the wall face visible inside the mirror carries a clear red circular outline",
            "state": "red circular outline suddenly visible"
          },
          {
            "camera_use": "isolated visual mark held as the sole point of attention",
            "directionality_class": "content_surface",
            "element": "red circular outline",
            "orientation": "the circular border appears on the reflected wall surface facing the mirror",
            "state": "clearly formed in the reflection"
          }
        ],
        "lighting_mood": "Bathroom ambient light is treated neutrally, with the restrained red outline becoming the only strong color accent.",
        "perception_mode": "mirror",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow’s very close position above and slightly in front of the dining table, the lens angles down until the photograph’s face area becomes an isolated insert. The hallucinated distortion is framed as a static, suffocating close detail: 민숙’s smiling printed face sits near center while the red smear-like deformation pulls downward within the photo surface, with only a narrow suggestion of the tabletop around it.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "printed portrait pose",
            "character": "민숙",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "distorted photograph face",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "primary content surface where the hallucinated facial distortion occurs",
            "directionality_class": "content_surface",
            "element": "photograph on dining table",
            "orientation": "the printed face side is angled up toward the camera, showing 민숙’s smiling face as it appears to smear downward",
            "state": "image distorting in 수리영’s perception"
          },
          {
            "camera_use": "thin surrounding context that confirms the photograph rests on a table without overwhelming the insert",
            "directionality_class": "directional_3d",
            "element": "dining table surface",
            "orientation": "the tabletop faces the downward-angled camera",
            "state": "photograph placed on it"
          }
        ],
        "lighting_mood": "Day interior ambient light remains grounded while the hallucinated red distortion supplies the only heightened color note.",
        "perception_mode": "hallucination",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 14,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "민숙 appears as a printed photograph rather than a live full-body subject, so base identity is needed but an outlook-specific reference may not align cleanly with the distorted insert.",
            "subject_id": "C06"
          }
        ]
      },
      {
        "camera_direction": "Outside the market, the camera holds chest-high in a medium side composition perpendicular to the exterior wall, with 남자 직원 in profile at frame left and his raised finger drawing a diagonal line upward. The wall-mounted CCTV camera sits high in the opposite side of the frame, small but clear, so the gesture and the device read as a single visual arrow.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "finger raised upward",
            "character": "남자 직원",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "points_to",
              "gesture_target_label": "wall-mounted CCTV camera",
              "label": "남자 직원",
              "screen_zone": "middle_left",
              "target_id": "C07",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "wall-mounted CCTV camera",
              "screen_zone": "upper_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "points_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "gesture target and investigative clue, positioned above the pointing hand",
            "directionality_class": "directional_3d",
            "element": "wall-mounted CCTV camera",
            "orientation": "the camera body is mounted on the exterior wall with its visible side and lens direction readable from below",
            "state": "mounted on the wall"
          },
          {
            "camera_use": "flat spatial anchor that connects the employee’s hand to the CCTV position",
            "directionality_class": "directional_3d",
            "element": "market exterior wall",
            "orientation": "the wall face runs across the frame perpendicular to the camera’s side view",
            "state": "outside the market"
          }
        ],
        "lighting_mood": "Early morning daylight outside the market is kept plain and investigative, without added atmospheric effects.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera has tracked around to a close medium, eye-level frontal position on 수리영 outside the market, tightening slightly so her face and the phone pressed to her ear carry the frame. She is centered and nearly confronts the lens, but her gaze stays fixed past it, making the direct view feel like a trapped reaction rather than a posed portrait.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "phone pressed to ear",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "soft exterior context behind 수리영, held secondary to her phone-call reaction",
            "directionality_class": "directional_3d",
            "element": "market exterior area",
            "orientation": "the exterior background faces the camera behind 수리영",
            "state": "outside the market"
          },
          {
            "camera_use": "held close to her ear as the action prop defining the call",
            "directionality_class": "directional_3d",
            "element": "smartphone",
            "orientation": "the phone’s side is pressed against 수리영’s ear rather than showing its screen face",
            "state": "in use for a call"
          }
        ],
        "lighting_mood": "Early morning daylight remains natural and restrained, sharpening the tension in 수리영’s fixed expression.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From just behind and beside 혜수 at standing eye level, the camera compresses the space so 혜수’s shoulder and back edge occupy the foreground while 수리영’s anxious face fills the midground behind her. The frame tightens on 수리영, allowing her clenched hands to register low at the edge, and her gaze line runs past 혜수 toward the unseen monitor.",
        "character_angles": [
          {
            "angle": "over_shoulder",
            "body_pose": "leaning toward workstation",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "clenched hands low",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "혜수 foreground shoulder",
              "screen_zone": "middle_left",
              "target_id": "C02",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "CCTV monitor",
              "label": "수리영 anxious face",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "CCTV monitor direction",
              "screen_zone": "upper_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "off-axis visual target motivating both characters’ attention",
            "directionality_class": "content_surface",
            "element": "CCTV monitor",
            "orientation": "the screen face is positioned away from the camera’s main view, implied by the characters’ gaze line",
            "state": "CCTV footage being reviewed"
          },
          {
            "camera_use": "compressed interior context for the total office space",
            "directionality_class": "directional_3d",
            "element": "workstation side of the general affairs office",
            "orientation": "the workstation area sits forward of 수리영 and to the side of the camera",
            "state": "occupied during CCTV review"
          }
        ],
        "lighting_mood": "Indoor office ambient light is kept functional and muted, letting 수리영’s face and hands carry the emotional contrast.",
        "perception_mode": "direct",
        "perspective": "over_shoulder",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 2,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "혜수 is mainly a foreground shoulder/back framing element, so a full outlook reference is unnecessary for this shot.",
            "subject_id": "C02"
          }
        ]
      },
      {
        "camera_direction": "At 혜수’s eye level near the workstation side, the camera finishes the pan and holds across her turned face, keeping 한국인 남성 only as a partial presence along her gaze line. 혜수’s firm expression occupies the near side of the frame in close medium profile, while the background workstation side remains just legible enough to keep the decision tied to the CCTV review.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "head turned sharply",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C04",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "hands near workstation",
            "character": "한국인 남성",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "contextual anchor for the exchange about taking the CCTV material",
            "directionality_class": "content_surface",
            "element": "CCTV monitor",
            "orientation": "the monitor’s screen face is near the workstation side, present as context rather than the main focal plane",
            "state": "CCTV footage under review"
          },
          {
            "camera_use": "physical setting that frames 혜수’s turned reaction",
            "directionality_class": "directional_3d",
            "element": "workstation side of the general affairs office",
            "orientation": "the workstation side angles across the frame behind 혜수’s gaze line",
            "state": "occupied during the review"
          }
        ],
        "lighting_mood": "The indoor office light stays neutral and practical, with the contrast falling on 혜수’s decisive turn.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the police office beside 혜수’s desk, the camera tightens into a static downward close observation from 수리영’s side, excluding her completely and holding only the scattered case photographs. The tabletop cuts diagonally through the frame, with several photo edges overlapping so the eye is forced to assemble the disturbing shoulder and neck details as evidence rather than spectacle.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "primary focal evidence spread, arranged to create fragmented visual unease",
            "directionality_class": "content_surface",
            "element": "scattered murder case photographs",
            "orientation": "the printed image sides face upward toward the camera, showing enlarged crime-scene details of shoulder and neck areas",
            "state": "spread messily on 혜수’s desk"
          },
          {
            "camera_use": "supporting surface that fixes the photos as desk evidence in the police office",
            "directionality_class": "directional_3d",
            "element": "혜수’s desk",
            "orientation": "the desktop faces the downward camera angle from 수리영’s side",
            "state": "covered with scattered photographs"
          }
        ],
        "lighting_mood": "Daytime police-office ambient light is kept sober and documentary, avoiding sensational emphasis while preserving the photos’ disturbing implication.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the end position of the monitor-reveal flow, the camera sits just beyond 김형사's monitor line at seated eye level, holding a tight frontal close-up of 수리영 while keeping the monitor itself just outside the frame edge. Her pale face occupies the center of the frame, with the unseen screen implied by the glow on her features; the composition feels accusatory but remains an observer's direct view, not her POV.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "frozen at monitor",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영's face",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Kept just outside the frame line while motivating the light on 수리영's face.",
            "directionality_class": "content_surface",
            "element": "김형사's monitor",
            "orientation": "The screen face is aimed toward 수리영 but remains outside the camera's visible frame, so its content is not seen.",
            "state": "on"
          },
          {
            "camera_use": "Provides the implied police-office workstation context behind the monitor position.",
            "directionality_class": "directional_3d",
            "element": "김형사's workstation",
            "orientation": "The camera faces back across the workstation toward 수리영, with only peripheral desk context implied.",
            "state": "in use as the monitor station"
          },
          {
            "camera_use": "Held soft behind 수리영 to preserve the sense of the office having emptied out.",
            "directionality_class": "non_directional",
            "element": "empty police office background",
            "orientation": "",
            "state": "empty"
          }
        ],
        "lighting_mood": "Daytime office ambience is restrained, with the monitor light specifically registering on 수리영's face.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the doorway-side end position, the camera shifts slightly closer to the door handle at shoulder height, looking across 수리영's side profile back into the vacant office. Her hand and the handle sit large in the near side of the frame while her face is held in profile beside it, and the empty desks recede behind her through the doorway.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "hand gripping handle",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영 at doorway",
              "screen_zone": "middle_right",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "empty office interior",
              "screen_zone": "middle_left",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Frames 수리영's hand and marks the threshold she is about to cross.",
            "directionality_class": "directional_3d",
            "element": "office door handle",
            "orientation": "The handle is seen from the side, close to camera, with 수리영's fingers wrapped around it.",
            "state": "gripped"
          },
          {
            "camera_use": "Creates a threshold frame between 수리영 and the office she is checking.",
            "directionality_class": "directional_3d",
            "element": "office doorway",
            "orientation": "The camera is slightly behind the door plane, looking inward across the opening toward the office.",
            "state": "open enough to see into the office"
          },
          {
            "camera_use": "Visible behind 수리영 as the space she nervously checks before leaving.",
            "directionality_class": "non_directional",
            "element": "empty police office",
            "orientation": "",
            "state": "empty"
          }
        ],
        "lighting_mood": "Daytime interior light remains natural to the police-office setting, without adding a new motivated source.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 13,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Following the establishing stage, the camera holds across the road at waist height in a wide full-body composition, keeping 수리영 and the entire stopped bicycle in front of the police station building. She is centered slightly off-axis rather than posed frontally, one foot grounded as a held breath before the later dolly-in begins.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "one foot grounded",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Establishes the civic location behind 수리영 and the bicycle.",
            "directionality_class": "directional_3d",
            "element": "police station building",
            "orientation": "The building entrance side faces the camera from across the road.",
            "state": "exterior visible"
          },
          {
            "camera_use": "Separates the camera from 수리영 and sets the road-axis for the next inward move.",
            "directionality_class": "non_directional",
            "element": "road in front of the police station",
            "orientation": "",
            "state": "sunlit"
          },
          {
            "camera_use": "Primary mobility object, stopped with 수리영 seated on it.",
            "directionality_class": "directional_3d",
            "element": "bicycle",
            "orientation": "The bicycle is shown broadly from a slight angle so its full frame and wheels are readable.",
            "state": "stopped"
          }
        ],
        "lighting_mood": "Sunlit daytime exterior light keeps the frame clear and grounded before the urgency of movement starts.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 22,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At seated head height from the front-left of the PC station, the camera holds a medium view that includes 수리영, the monitor, and her hand resting on the mouse. The diagonal line makes the monitor the visual pull while keeping 수리영's stillness in the left-middle of the frame before the later forward move narrows onto the screen.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "hand on mouse",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Receives 수리영's attention and sets up the next cut to screen content.",
            "directionality_class": "content_surface",
            "element": "computer monitor",
            "orientation": "The active screen face is angled partly toward camera and partly toward 수리영, showing that she is checking coordinates.",
            "state": "on"
          },
          {
            "camera_use": "Anchors her searching action without becoming an oversized foreground object.",
            "directionality_class": "directional_3d",
            "element": "computer mouse",
            "orientation": "Seen under 수리영's hand from a slight diagonal angle on the desk surface.",
            "state": "under her hand"
          },
          {
            "camera_use": "Defines the PC-bang workstation space around her.",
            "directionality_class": "directional_3d",
            "element": "computer station desk",
            "orientation": "The desk is viewed diagonally from the front-left, leading the eye from 수리영's hand to the monitor.",
            "state": "occupied by 수리영"
          }
        ],
        "lighting_mood": "The PC-bang is kept in dark interior lighting, with the monitor acting as the clearest motivated brightness.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 23,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera cuts to a perpendicular, very close view of the monitor surface, isolating the displayed map and the coastal-coordinate marker as screen content. No part of 수리영 or the surrounding PC station is included; the flatness of the screen becomes the entire visual logic of the shot.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "monitor map content",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary image plane; the camera reads the map as device-displayed information.",
            "directionality_class": "content_surface",
            "element": "monitor screen map",
            "orientation": "The screen's front face is square to camera and shows a map with a marker on a specific coastal coordinate.",
            "state": "on, displaying coordinate map"
          },
          {
            "camera_use": "Barely frames the active screen without drawing attention away from the map.",
            "directionality_class": "directional_3d",
            "element": "monitor edge",
            "orientation": "Only the front-facing edge of the monitor is implied around the screen content.",
            "state": "static"
          }
        ],
        "lighting_mood": "Light is defined by the monitor display itself, with surrounding illumination excluded by the tight framing.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 23,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the close-observation end of the coastal-road flow, the camera is directly in front of 수리영 at face height, moving backward with her while tightening until her eyes carry the frame. Rain-wet hair clings across her face, the bicycle and road are mostly cut away, and the slight forward pressure of the lens turns the shot into a desperate head-on pursuit rather than a portrait.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "pedaling into rain",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "camera direction along the road",
              "label": "수리영's rain-soaked face",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Provides kinetic streaking and pressure around the close-up without taking focus from her eyes.",
            "directionality_class": "non_directional",
            "element": "heavy rain",
            "orientation": "",
            "state": "falling heavily"
          },
          {
            "camera_use": "Blurred peripheral context for the bicycle movement.",
            "directionality_class": "non_directional",
            "element": "coastal road background",
            "orientation": "",
            "state": "mostly excluded by the close frame"
          },
          {
            "camera_use": "Barely implied by the rhythm of her body, not shown as a full object.",
            "directionality_class": "directional_3d",
            "element": "bicycle",
            "orientation": "Only minimal, fragmented parts may enter the lower edge; the full side or front is excluded.",
            "state": "moving"
          }
        ],
        "lighting_mood": "The storm setting is defined by overcast rain and intermittent thunder-and-lightning conditions from the scene, kept stark rather than decorative.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 24,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera begins low just inside the rooftop-room living room entrance, locked close to the floor and aimed slightly downward so the scattered dirt-marked footprints lead into the room. The frame stays wide enough to reveal the disturbed living-room layout beyond the footprints, using the floor as the first clue rather than rushing to the human reaction.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary visual clue, arranged across the low foreground and midground.",
            "directionality_class": "non_directional",
            "element": "dirt-marked footprints on the floor",
            "orientation": "",
            "state": "scattered across the living room floor"
          },
          {
            "camera_use": "Adds evidence of the room having been searched or disturbed.",
            "directionality_class": "directional_3d",
            "element": "fallen dining chairs",
            "orientation": "The chairs are seen at low angle across the room, their overturned forms breaking the floor line.",
            "state": "knocked over"
          },
          {
            "camera_use": "Shows a possible intrusion point and adds openness to the otherwise interior frame.",
            "directionality_class": "directional_3d",
            "element": "living room window",
            "orientation": "The window opening is visible from inside the room.",
            "state": "open"
          },
          {
            "camera_use": "Fills the deeper room with disruption without specifying individual objects beyond the scene fact.",
            "directionality_class": "non_directional",
            "element": "ransacked household items",
            "orientation": "",
            "state": "strewn through the home"
          }
        ],
        "lighting_mood": "Dusk interior light is kept dim and natural to the rooftop-room setting, with no added specific source beyond the time of day.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the wall-close stage, the camera is square to the bedroom wall at eye height and pushes into a tight close-up of the old photo fixed at the center of the red circle. The photo takes most of the frame but leaves enough of the crimson circle around it to make the placement feel ritualized and deliberate.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "blood-stained old photo inside red circle",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary focal object, held flat to the camera so its image content can be read.",
            "directionality_class": "content_surface",
            "element": "old photo",
            "orientation": "The front face of the photo is visible, showing an older rural restaurant image with two young girls in front as described in the scene.",
            "state": "blood-stained and fixed to the wall"
          },
          {
            "camera_use": "Contextual mark that frames the photo and compresses attention toward its center.",
            "directionality_class": "content_surface",
            "element": "red circle on the bedroom wall",
            "orientation": "The wall-facing mark is seen frontally, surrounding the photo at its center.",
            "state": "drawn on the wall"
          },
          {
            "camera_use": "Flat background plane that makes the photo and circle feel pinned in place.",
            "directionality_class": "content_surface",
            "element": "bedroom wall",
            "orientation": "The camera sees the wall surface straight on, with the red circle and photo on its visible face.",
            "state": "marked"
          }
        ],
        "lighting_mood": "Dusk-room illumination stays subdued, letting the red circle and blood-stained photo provide the restrained crimson emphasis grounded in the scene.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "After the cut to the withdrawal position, the camera holds completely still from inside the rooftop room, facing outward through the open entrance. 수리영 is caught from behind, half outside the doorway with the backpack on and the photo clenched in hand, while the interior remains behind the camera's refusal to follow her.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "mid-exit through doorway",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "outside doorway",
              "label": "수리영 leaving with photo",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "open rooftop-room entrance",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Frames 수리영's exit and separates the violated room from the outside.",
            "directionality_class": "directional_3d",
            "element": "rooftop-room entrance door",
            "orientation": "The camera looks from inside toward the door opening and 수리영's back as she passes through it.",
            "state": "open"
          },
          {
            "camera_use": "Visible beyond the doorway if caught in the exterior sliver, grounding the rooftop access.",
            "directionality_class": "directional_3d",
            "element": "external add-on metal stair landing",
            "orientation": "The stair/landing beyond the rooftop entrance is read as a later-added metal structure with open treads, thin plate stringers, support posts, and pipe railings.",
            "state": "outside the doorway"
          },
          {
            "camera_use": "Held behind 수리영 as the abandoned evidence of the intrusion she is leaving.",
            "directionality_class": "non_directional",
            "element": "disturbed living room interior",
            "orientation": "",
            "state": "ransacked"
          }
        ],
        "lighting_mood": "The dusk light at the doorway is kept low and transitional, without introducing an ungrounded artificial source.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 14,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the establishing start of the harbor flow, the camera sits low at shoreline-rock level to 수리영's side, far enough for a wide profile against the open sea line. She is placed in the lower-left portion of the frame with her knees drawn together, her head turned toward the fog-covered water while the empty harbor space stretches beyond her eyeline.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "knees drawn together",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "fog-covered sea",
              "label": "수리영 seated on rock",
              "screen_zone": "lower_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "fog-covered sea",
              "screen_zone": "middle_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Supports 수리영's seated profile and makes her exhaustion physical.",
            "directionality_class": "non_directional",
            "element": "shoreline rocks",
            "orientation": "",
            "state": "used as her seat"
          },
          {
            "camera_use": "Receives her gaze and supplies the emotional void of the shot.",
            "directionality_class": "non_directional",
            "element": "fog-covered sea",
            "orientation": "",
            "state": "covered in dense fog"
          },
          {
            "camera_use": "Establishes the location as empty before the later boat appearance.",
            "directionality_class": "non_directional",
            "element": "empty harbor",
            "orientation": "",
            "state": "empty, with boats not visible through the fog"
          }
        ],
        "lighting_mood": "Dusk harbor light is softened by the dense fog after the rain has stopped.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At dock level from just off 수리영's front-left side, the camera holds a medium, slightly low angle so her firm face occupies the left-center foreground while the boat rises in the right background. The composition preserves her upward eyeline toward 인우 without cutting away, using the dock edge and boat side to make the height difference feel tense and immediate.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "chin lifted tense",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "hand on mooring rope",
            "character": "인우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "Inwoo on the boat",
              "label": "수리영",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "인우 on the boat",
              "screen_zone": "upper_right",
              "target_id": "C03",
              "target_kind": "character"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Forms the horizontal foreground base beneath 수리영, grounding the dock-level perspective.",
            "directionality_class": "directional_3d",
            "element": "dock edge",
            "orientation": "The edge runs laterally across the lower frame, with its dock-facing side visible from a low angle.",
            "state": "present; state not otherwise specified"
          },
          {
            "camera_use": "Provides the raised background plane that 수리영 looks up toward.",
            "directionality_class": "directional_3d",
            "element": "small fishing boat",
            "orientation": "The dock-facing side of the boat is visible behind and above 수리영.",
            "state": "arrived at the dock"
          },
          {
            "camera_use": "Softens the distance beyond the boat and compresses the empty harbor space.",
            "directionality_class": "non_directional",
            "element": "dense fog over the harbor",
            "orientation": "",
            "state": "thick fog present after the rain has stopped"
          }
        ],
        "lighting_mood": "Sunset ambient light is diffused by the thick fog after the rain, keeping the dock and boat in muted contrast.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From a side position at mouth height, the camera is extremely close to 수리영's profile and the lower edge of the smartphone, keeping her lips and the microphone area in the same shallow plane. The phone sits in the near foreground at frame right while her mouth enters from frame left, with only a narrow slice of face visible to stress the almost-touching distance.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "phone near lips",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary foreground prop; its lower microphone edge anchors the close-up distance.",
            "directionality_class": "directional_3d",
            "element": "smartphone",
            "orientation": "The bottom edge of the phone faces 수리영's lips and the camera, while the screen face is not the meaningful surface in this framing.",
            "state": "held close while recording a voice message"
          },
          {
            "camera_use": "Barely retained as soft background context beyond the tight phone-side profile.",
            "directionality_class": "non_directional",
            "element": "harbor fog",
            "orientation": "",
            "state": "thick fog present"
          }
        ],
        "lighting_mood": "The close-up keeps the same sunset-and-fog ambience, with no specific device glow emphasized.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From standing eye height near the room entrance, the camera holds a wide full-body frame with 혜수 centered in the living area and the scattered belongings spread around her as negative space. The entrance-side viewpoint keeps the room layout readable before any forward move, making her rigid stillness feel exposed rather than heroic.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "feet planted rigidly",
            "character": "혜수",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Surrounds 혜수 and gives the wide frame its disturbed spatial context.",
            "directionality_class": "non_directional",
            "element": "scattered belongings",
            "orientation": "",
            "state": "spilled and disorderly across the living area"
          },
          {
            "camera_use": "Defines the central stage where 혜수 is isolated.",
            "directionality_class": "non_directional",
            "element": "rooftop room living area",
            "orientation": "",
            "state": "interior space; state not otherwise specified"
          },
          {
            "camera_use": "Acts as the camera-side threshold, making the view feel like an intrusion into the room.",
            "directionality_class": "directional_3d",
            "element": "room entrance area",
            "orientation": "The camera looks inward from the entrance side toward the center of the room.",
            "state": "present; state not otherwise specified"
          }
        ],
        "lighting_mood": "Interior ambient light appropriate to sunset is used without specifying a visible source, leaving the clutter and 혜수's stillness in restrained shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 27,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "On the deck at seated hand height, the camera faces across 수리영's extended hands so the unfolded map sits in the center foreground while the boat deck remains readable behind it. The frame stays still and low, holding back 인우's full reaction so the offered map becomes the physical line of pressure between them.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "arms extended with map",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary foreground object; it establishes the destination demand before the reaction is revealed.",
            "directionality_class": "content_surface",
            "element": "unfolded map",
            "orientation": "The map face is visible obliquely to the camera, showing its map content as it is held outward.",
            "state": "unfolded and presented"
          },
          {
            "camera_use": "Provides the immediate working surface around 수리영's seated position.",
            "directionality_class": "non_directional",
            "element": "fishing boat deck",
            "orientation": "",
            "state": "on a small fishing boat at sea"
          },
          {
            "camera_use": "Background context beyond the deck, separating the offered map from open water.",
            "directionality_class": "non_directional",
            "element": "sea",
            "orientation": "",
            "state": "the boat is already far out on the water"
          }
        ],
        "lighting_mood": "A red sunset cast lies over the sea and deck, held back enough that the map remains the clearest foreground shape.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 1,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The shot primarily frames 수리영's hands and arms presenting the map; a full facial outlook reference is not useful for this partial-body composition.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "Cut directly in front of 인우 at eye level into a tight face close-up, excluding most of the photograph while preserving the downward eyeline that explains his shock. His widened eyes and slightly parted lips sit near the center, with background detail suppressed so the change in his expression becomes the only new axis.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "head frozen forward",
            "character": "인우",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Motivates 인우's downward eyeline while remaining mostly outside the image.",
            "directionality_class": "content_surface",
            "element": "old photograph edge",
            "orientation": "Only a lower sliver of the photograph's image face is implied near the edge of frame, with its main content kept out of view.",
            "state": "shown to 인우; mostly outside frame"
          },
          {
            "camera_use": "Minimal background context behind the close-up.",
            "directionality_class": "non_directional",
            "element": "boat deck area",
            "orientation": "",
            "state": "present; state not otherwise specified"
          }
        ],
        "lighting_mood": "Sunset ambient light remains natural to the deck, with the close framing concentrating contrast on 인우's startled face.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the wheelhouse area at torso height, the camera holds a side-on medium frame about an arm's length from the struggle. 수리영 enters from frame left with her body half inside the wheelhouse opening, both hands locked on 인우's arm at center, while 인우 twists away toward frame right as if trying to continue his abrupt move.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "half-entered gripping arm",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "alive"
          },
          {
            "angle": "profile_left",
            "body_pose": "twisting away restrained",
            "character": "인우",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영 half inside opening",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "인우 being restrained",
              "screen_zone": "middle_right",
              "target_id": "C03",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "wheelhouse side opening",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Frames 수리영's half-entered body and clarifies the boundary she is forcing through.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse side opening",
            "orientation": "The side plane of the wheelhouse faces the camera, with the opening cutting between deck side and interior.",
            "state": "present; state not otherwise specified"
          },
          {
            "camera_use": "Provides the implied destination of 인우's attempted movement inside the wheelhouse.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse interior controls area",
            "orientation": "Seen from the side, partially behind 인우 rather than frontally.",
            "state": "present; details not otherwise specified"
          }
        ],
        "lighting_mood": "The wheelhouse keeps the sunset ambience subdued, with tighter shadow around the bodies as their arms become the brightest readable action.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At hand height in the tight space between 수리영 and 인우, the camera looks down at a shallow angle into an insert frame where 수리영's finger presses the child figure in the photograph. Faces are excluded; the fingertip and the small figure sit near center, with just enough photograph border visible to keep it legible as an image being identified.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "finger pressing photograph",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary content surface; it carries the clue that 수리영 identifies.",
            "directionality_class": "content_surface",
            "element": "photograph",
            "orientation": "The photograph's image face is visible to camera, including the child figure being pressed by 수리영's finger.",
            "state": "held close and pointed at"
          },
          {
            "camera_use": "Immediate physical contact point that directs attention to the child figure.",
            "directionality_class": "non_directional",
            "element": "수리영's fingertip",
            "orientation": "",
            "state": "pressing the photograph"
          }
        ],
        "lighting_mood": "Ambient light inside the wheelhouse is kept neutral and close, avoiding any new source so the photograph detail remains stark.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 3,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only 수리영's hand is visible in an insert of the photograph; using a full outlook reference would over-specify a face that should not appear.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "At face height just beyond 인우's near side, the camera holds an unnaturally still close composition: his pale, shocked face blocks the foreground edge while the inner wheelhouse wall remains visible behind him. Focus is biased past his face toward the red circular markings on the wall, turning him into an obstruction rather than the center of the shot.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "shoulders locked pale",
            "character": "인우",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "True focal point beyond 인우's foreground face; the marks create the occult reveal.",
            "directionality_class": "content_surface",
            "element": "red circular markings on inner wall",
            "orientation": "The camera sees the marked wall face with multiple red circles drawn on it.",
            "state": "visible on the wheelhouse inner wall"
          },
          {
            "camera_use": "Holds the marks in the same confined space as 인우, making the reveal feel trapped behind him.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse inner wall",
            "orientation": "The interior wall plane faces the camera from behind 인우's near-side foreground position.",
            "state": "present inside the wheelhouse"
          }
        ],
        "lighting_mood": "Subdued wheelhouse ambience is interrupted only by the restrained red of the circular markings, which becomes the dominant color accent.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From 인우's side at shoulder height, the camera settles into a firm perpendicular close-medium profile of both bodies. 인우 occupies the upper right of frame, looking down with a cold fixed gaze, while 수리영's weight collapses across his shoulder into the lower left, making the contact feel heavy and irreversible.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "shoulder bearing weight",
            "character": "인우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "slumped on shoulder",
            "character": "수리영",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "unconscious"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Confines the aftermath and keeps the two figures pressed into a narrow side composition.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse side interior",
            "orientation": "Seen side-on behind the two bodies, parallel to their shoulder line.",
            "state": "present; state not otherwise specified"
          },
          {
            "camera_use": "Residual background reminder of the previous reveal, secondary to 인우's gaze.",
            "directionality_class": "content_surface",
            "element": "red circular markings",
            "orientation": "If visible, the marked wall face sits behind the figures with red circle content facing camera.",
            "state": "present inside the wheelhouse"
          }
        ],
        "lighting_mood": "The wheelhouse light remains low and restrained, letting the coldness of 인우's downward gaze carry the shot rather than adding a new source.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 9,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At waterline height slightly off the bow's centerline, the camera tracks backward as the old small fishing boat advances, keeping the bow in the lower center foreground just as it enters the dense fog halfway. The split water forms the immediate foreground action, while the fog band swallows the upper half of the boat's forward path.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "dense fog band",
              "label": "old small fishing boat bow",
              "screen_zone": "lower_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "dense fog band",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary moving form; its direction and partial disappearance define the shot.",
            "directionality_class": "directional_3d",
            "element": "old small fishing boat bow",
            "orientation": "The front of the bow faces the camera from a low off-center angle as it pushes forward.",
            "state": "halfway entering the dense fog"
          },
          {
            "camera_use": "Immediate foreground action created by the bow's movement.",
            "directionality_class": "non_directional",
            "element": "water split by the bow",
            "orientation": "",
            "state": "being parted along the boat's path"
          },
          {
            "camera_use": "Destination and visual boundary that erases the boat's route.",
            "directionality_class": "non_directional",
            "element": "dense fog band",
            "orientation": "",
            "state": "thick band over the sea"
          },
          {
            "camera_use": "Wide environmental context under the boat and fog.",
            "directionality_class": "non_directional",
            "element": "sea at sunset",
            "orientation": "",
            "state": "golden cast from the slowly setting sun"
          }
        ],
        "lighting_mood": "The slowly setting sun casts a golden reflection over the sea while the dense fog band reduces the boat ahead to a muted silhouette.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 30,
        "shot_index": 4,
        "subject_reference_policy": []
      }
    ],
    "total": 60,
    "failed_batches": 0
  },
  "step_id": "shot_staging",
  "run_id": "45f44ff7-015e-4efe-be0d-3261688e7d5f",
  "resolved_model": "gpt",
  "updated_at": "2026-07-09T20:39:57.587480+00:00",
  "schema_version": 6,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}