{
  "status": "completed",
  "completed_count": 56,
  "applicable_count": 56,
  "failed_count": 0,
  "data": {
    "shots": [
      {
        "camera_direction": "From the flow's ground-level end position, the camera holds static in wet leaf litter beside the fallen man's shoulder, about four feet away, looking across his twisted torso toward the dark silhouette pressing down on him. The frame is low and slightly canted by the impact, with the Korean man stretched along the lower third and the black silhouette crouched over him in the middle of frame, held a beat too long so the sudden stillness feels unnatural.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "crouched over torso",
            "character": "검은 실루엣",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "pinned on back",
            "character": "한국인 남성",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "fallen Korean man",
              "screen_zone": "lower_center",
              "target_id": "C06",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "black silhouette pinning him",
              "screen_zone": "middle_center",
              "target_id": "C10",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "wet foreground texture and scale reference around the bodies",
            "directionality_class": "non_directional",
            "element": "forest floor leaf litter",
            "orientation": "",
            "state": "damp, churned, and dark with soil"
          },
          {
            "camera_use": "thin vertical obstructions around the frame edges",
            "directionality_class": "directional_3d",
            "element": "low undergrowth and saplings",
            "orientation": "thin stems cross the camera sideways and partially obscure the bodies from the ground angle",
            "state": "shaking slightly after the impact"
          },
          {
            "camera_use": "cold back haze separating the silhouette from the background",
            "directionality_class": "non_directional",
            "element": "dusk forest haze",
            "orientation": "",
            "state": "blue-gray and settling between trees"
          }
        ],
        "lighting_mood": "Fading dusk light is desaturated blue-gray, with damp ground highlights and the silhouette rendered almost featureless against cold forest haze.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inheriting the close shoulder-height alley position, the camera has dollyed to within arm's length just off the woman's back and slightly toward the man's front, tightening until his red eyes, open mouth, teeth, and her exposed nape occupy nearly the whole close frame. The alley collapses into dark abstract slivers behind them, with her shoulder cutting across the lower foreground and his turned face wedged into the upper right.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "neck-biting twist",
            "character": "한국인 남성",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C07",
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "head pulled sideways",
            "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": "nearly abstract vertical edge behind the pair",
            "directionality_class": "directional_3d",
            "element": "alley utility pole",
            "orientation": "one dark side of the pole faces camera, pressed behind the figures as a narrow vertical strip",
            "state": "wet, old, and barely lit"
          },
          {
            "camera_use": "distant practical glow reduced to blurred streaks",
            "directionality_class": "non_directional",
            "element": "dim streetlamp spill",
            "orientation": "",
            "state": "weak, amber, and diffused by night moisture"
          },
          {
            "camera_use": "shallow background texture behind the bite",
            "directionality_class": "directional_3d",
            "element": "brick alley wall",
            "orientation": "side wall recedes diagonally away from camera behind the figures",
            "state": "dark, damp, and mostly out of focus"
          }
        ],
        "lighting_mood": "Muted sodium streetlight and cold alley shadow mix into a sickly low-key palette, with the red eyes as the only saturated accent.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The shot keeps the flow's eye-level medium-close news-footage position in front of Hyesu, slightly below her eyeline, framed through the shoulders and moving gaps of nearby detectives. Hyesu is compressed into the center from upper torso up, her sharp stare fixed past the lens while blurred forensic activity crowds both sides like a human frame.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "shoulders squared forward",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "looking_away",
            "body_pose": "hunched over evidence",
            "character": "한국인 형사들",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "foreground compression and partial occlusion",
            "directionality_class": "directional_3d",
            "element": "surrounding detectives' shoulders",
            "orientation": "backs and side profiles face camera at the frame edges, enclosing Hyesu",
            "state": "moving minimally, dark jackets slightly wet"
          },
          {
            "camera_use": "crime-scene boundary visible behind the cluster",
            "directionality_class": "content_surface",
            "element": "police line tape",
            "orientation": "the printed warning side faces camera in broken yellow bands behind Hyesu",
            "state": "taut and fluttering lightly"
          },
          {
            "camera_use": "broadcast context and evidence activity",
            "directionality_class": "directional_3d",
            "element": "covered body recovery area",
            "orientation": "the tarp-covered forms sit obliquely behind the detectives, partly blocked from camera",
            "state": "muted, controlled, and distant"
          }
        ],
        "lighting_mood": "Flat overcast daylight is filtered through a broadcast-like desaturation, with cold highlights on rain-dark uniforms and no comforting warmth.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 3,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow's very high aerial start, the camera looks down over gray Incheon outskirts in a wide, distant composition, beginning a slow crane descent but still preserving the whole bleak neighborhood grid. The old villa rooftop room remains clearly readable below near the lower-middle of frame, surrounded by low-rise roofs, narrow alleys, and damp concrete surfaces.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "primary environmental subject anchoring the descent",
            "directionality_class": "directional_3d",
            "element": "old villa rooftop room",
            "orientation": "its weathered roof and front wall are visible from above at a steep angle",
            "state": "aged, closed, and exposed to gray daylight"
          },
          {
            "camera_use": "bleak spatial context around the rooftop",
            "directionality_class": "directional_3d",
            "element": "cluster of low-rise villas",
            "orientation": "flat rooftops and side walls form a dense block pattern beneath camera",
            "state": "old, stained, and quiet"
          },
          {
            "camera_use": "atmospheric veil softening distance",
            "directionality_class": "non_directional",
            "element": "overcast coastal haze",
            "orientation": "",
            "state": "cold, milky, and desaturating the skyline"
          }
        ],
        "lighting_mood": "Clouded daytime light sits in a cold coastal gray wash, flattening the buildings and making every rooftop look damp and tired.",
        "perception_mode": "direct",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 4,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Following the flow's side angle at seated chest height, the camera holds just behind Su-ryeong's shoulder line about three feet from the table, lingering as she leans across the narrow dining space toward Min-sook's shoulder. Su-ryeong occupies the left foreground in side profile, Min-sook sits opposite in the right midground, and the cramped rooftop kitchen presses in around them without breaking the intimate scent-taking pause.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "leaning to sniff",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C05",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "shoulder turned inward",
            "character": "민숙",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "soft daylight strip behind the domestic space",
            "directionality_class": "transparent_surface",
            "element": "small living-room window",
            "orientation": "slightly dirty glass shows pale exterior brightness through a thin curtain haze",
            "state": "closed, hazy, and weakly glowing"
          },
          {
            "camera_use": "practical domestic motion in the background",
            "directionality_class": "directional_3d",
            "element": "kitchen sink and faucet",
            "orientation": "the faucet side faces camera at an angle behind the table",
            "state": "water still running softly"
          },
          {
            "camera_use": "steam texture and occult herbal detail",
            "directionality_class": "non_directional",
            "element": "boiling herbal pot steam",
            "orientation": "",
            "state": "rising in thin uneven curls near the stove"
          },
          {
            "camera_use": "darkened news presence in the room",
            "directionality_class": "content_surface",
            "element": "television screen",
            "orientation": "the front screen faces partly away from camera and shows no image",
            "state": "switched off, black, and faintly reflective"
          }
        ],
        "lighting_mood": "Thin window daylight and dim kitchen practicals create a cool, desaturated domestic gloom, with steam catching the light like a fragile veil.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera completes the flow's downward tilt to a tight close-up just above the tabletop beside Min-sook's forearm, angled slightly down so faces are completely excluded. Her wrist lies across the lower half of the frame, the clear round mark centered and sharp, with only blurred table edge and muted kitchen tones giving scale around it.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "forearm resting table",
            "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": "surface supporting the wrist and giving scale",
            "directionality_class": "directional_3d",
            "element": "dining tabletop edge",
            "orientation": "the tabletop plane runs diagonally under the wrist with its near edge visible to camera",
            "state": "worn, clean enough, and softly lit"
          },
          {
            "camera_use": "soft contextual blur behind the arm",
            "directionality_class": "non_directional",
            "element": "kitchen steam haze",
            "orientation": "",
            "state": "thin and out of focus"
          },
          {
            "camera_use": "muted domestic color block in background",
            "directionality_class": "directional_3d",
            "element": "chair back",
            "orientation": "its narrow back edge faces camera as a blurred vertical shape",
            "state": "old and stationary"
          }
        ],
        "lighting_mood": "The same cool rooftop-room daylight falls gently across the skin, but the mark is given a slightly harder shadow edge so it feels newly significant.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 5,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The frame isolates Min-sook's wrist and mark while excluding her face and overall appearance, so an outlook-specific reference would not be useful.",
            "subject_id": "C05"
          }
        ]
      },
      {
        "camera_direction": "From the flow's parallel roadside tracking position, the camera runs alongside Su-ryeong about three meters away at chest height, holding a full-body side profile of rider and bicycle. At the instant one pedal reaches the bottom of the stroke, she sits forward on the saddle with earphones in, hair and loose clothing swept backward, the coastal road stretching horizontally behind her.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "one pedal pressed",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "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": "Su-ryeong riding bicycle",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "horizontal motion reference behind the rider",
            "directionality_class": "directional_3d",
            "element": "coastal road lane edge",
            "orientation": "the road recedes left-to-right across camera, parallel to Su-ryeong's travel",
            "state": "dry but dulled by sea haze"
          },
          {
            "camera_use": "cold open backdrop and smell of the sea",
            "directionality_class": "non_directional",
            "element": "hazy sea line",
            "orientation": "",
            "state": "pale blue-gray and softly blurred"
          },
          {
            "camera_use": "rhythmic roadside foreground passing by",
            "directionality_class": "directional_3d",
            "element": "guardrail posts",
            "orientation": "post sides flash past camera in a lateral row",
            "state": "weathered, salty, and muted"
          }
        ],
        "lighting_mood": "Daylight is brighter than the horror scenes but still coastal and desaturated, with wind-cool haze softening her cheerful expression.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 6,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Aligned with the Rottweiler's point of confrontation, the camera lands at the flow's tightest eye-level close position directly in front of Su-ryeong, about two feet from her face. Her face is locked in the center with a shallow depth of field, chin slightly lowered and eyes wide, while the shelter background dissolves into cold blur so the stare feels like pressure against the viewer.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "chin lowered forward",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C09",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Su-ryeong's intense face",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "abstract shelter context behind her head",
            "directionality_class": "directional_3d",
            "element": "kennel bars",
            "orientation": "vertical metal sides sit behind her, slightly angled and out of focus",
            "state": "closed, cold, and worn"
          },
          {
            "camera_use": "practical overhead harshness",
            "directionality_class": "directional_3d",
            "element": "fluorescent shelter fixtures",
            "orientation": "undersides of long fixtures are visible as blurred pale strips above and behind",
            "state": "on and flickering subtly"
          },
          {
            "camera_use": "damp animal-shelter texture",
            "directionality_class": "non_directional",
            "element": "concrete aisle floor",
            "orientation": "",
            "state": "wet-spotted and gray in background blur"
          }
        ],
        "lighting_mood": "Cold fluorescent light flattens her face with faint green-gray shadows, making her calm intensity feel clinical and uncanny.",
        "perception_mode": "direct",
        "perspective": "subjective_pov",
        "pov_character": "로트와일러",
        "scene_index": 7,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Continuing from the face confrontation into the procedure reveal, the camera tracks low beside the now-prone Rottweiler at the dog's hip height, within arm's reach of the middle-aged Korean male doctor's hands. The dog's calm flank occupies the lower foreground as context, while the doctor's syringe hand enters from the upper side of frame and the needle touches the hindquarter in a tight but not isolated composition.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "lying calmly prone",
            "character": "로트와일러",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "kneeling with syringe",
            "character": "한국인 남성",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "contextual animal-shelter texture under the dog",
            "directionality_class": "non_directional",
            "element": "rubber mat on concrete",
            "orientation": "",
            "state": "dark, damp, and scuffed"
          },
          {
            "camera_use": "background containment lines",
            "directionality_class": "directional_3d",
            "element": "kennel gate",
            "orientation": "the gate's bar side faces camera obliquely behind the procedure",
            "state": "closed and slightly rusted"
          },
          {
            "camera_use": "clinical prop area around the doctor's hand",
            "directionality_class": "directional_3d",
            "element": "metal exam tray edge",
            "orientation": "one reflective side edge angles toward camera but mainly reads as a small tray form",
            "state": "clean, cold, and partially out of focus"
          }
        ],
        "lighting_mood": "Harsh shelter fluorescents create cold highlights on the needle and the dog's coat, while the surrounding aisle remains muted and gray.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 3,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The doctor is represented mainly by hands and a kneeling partial body during the injection, so a generic middle-aged male doctor descriptor is sufficient and avoids tying him to a full identity look.",
            "subject_id": "C06"
          }
        ]
      },
      {
        "camera_direction": "Inside the market aisle, the camera inherits the forward-facing dolly-in and nearly stops at upper-body distance as Su-ryeong halts opposite the female employee. Su-ryeong holds the left-middle of frame with widened eyes, the employee is just across from her on the right edge in a practical aisle two-shot, and product shelves press close around them without opening to a full aisle view.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "halted mid-question",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C07",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning beside shelf",
            "character": "한국인 여성",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "tight aisle walls around the conversation",
            "directionality_class": "content_surface",
            "element": "market shelf product fronts",
            "orientation": "rows of product labels and package fronts face camera in shallow focus on both sides",
            "state": "stocked, colorful but muted by lighting"
          },
          {
            "camera_use": "overhead practical source and commercial realism",
            "directionality_class": "directional_3d",
            "element": "fluorescent ceiling lights",
            "orientation": "long undersides run lengthwise above the aisle toward the back of frame",
            "state": "on, flat, and slightly cold"
          },
          {
            "camera_use": "depth cue behind the employee",
            "directionality_class": "directional_3d",
            "element": "stacked display boxes",
            "orientation": "box fronts face partly toward camera from the aisle end",
            "state": "newly arranged and still being stocked"
          }
        ],
        "lighting_mood": "Market fluorescents are cold and ordinary, with muted product color and a faint dusk-blue cast leaking from the entrance area to sour the everyday setting.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Outside the market entrance, the camera completes the dolly-in closer than normal eye-level distance, slightly front-right of 수리영 so her furrowed brow and tightened mouth occupy most of the frame. The phone remains low at the bottom edge as a partial foreground cue, only enough of its tilted screen visible to motivate her downward gaze while the busy street compresses into smeared neon behind her.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "chin tucked over 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": "blurred background compression behind 수리영's head",
            "directionality_class": "content_surface",
            "element": "market neon signs",
            "orientation": "the lit front faces of the signs are angled toward camera, showing unreadable muted lettering and color blocks",
            "state": "on, softened by dusk haze"
          },
          {
            "camera_use": "edge reflections and entrance context behind her shoulder",
            "directionality_class": "transparent_surface",
            "element": "market entrance glass",
            "orientation": "slightly dirty glass with interior light and passing street shapes visible through it",
            "state": "closed, streaked with moisture"
          },
          {
            "camera_use": "small foreground motivation for her gaze",
            "directionality_class": "content_surface",
            "element": "phone screen",
            "orientation": "the glowing front screen is tilted upward toward 수리영 and partly away from camera, with content unreadable",
            "state": "on, dim and cool"
          }
        ],
        "lighting_mood": "Cold dusk haze mixes with weak market fluorescents and muted neon, leaving her face desaturated except for a faint phone glow under the eyes.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the stage's parallel side-tracking path, the camera rides low-to-mid beside the bicycle about two to three meters out, tightened on 수리영's side profile at the instant one pedal drives hard downward. Her forward-leaning torso cuts across the middle of frame while the dark sea remains visible as a cold horizontal band behind her, the bicycle frame vibrating along the lower third.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "driving pedal downward",
            "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": "moving background plane behind her profile",
            "directionality_class": "non_directional",
            "element": "night sea",
            "orientation": "",
            "state": "dark, hazy, wind-ruffled"
          },
          {
            "camera_use": "thin horizon reference behind her upper body",
            "directionality_class": "non_directional",
            "element": "coastal road edge",
            "orientation": "",
            "state": "dim, damp, passing quickly"
          },
          {
            "camera_use": "streaking practical highlights in the distance",
            "directionality_class": "content_surface",
            "element": "far harbor lights",
            "orientation": "the visible lit faces appear as small smeared dots across the sea-side background",
            "state": "on, blurred by speed and haze"
          }
        ],
        "lighting_mood": "Moonless blue-black coastal darkness is cut by sparse sodium road light and distant harbor glow, giving her windblown hair a cold rim.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 9,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At chest height tight to the handle-side jamb, the camera pushes in until the door crack, the half-inserted flyer, and 낯선 남자's fingertip become a claustrophobic insert; his face and body stay completely excluded. The metal door surface runs vertically along the left of frame, the narrow black gap slices the center, and the paper edge trembles just under the fingertip pressure.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "fingertip pressing flyer",
            "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 vertical plane and source of tension",
            "directionality_class": "directional_3d",
            "element": "metal front door edge",
            "orientation": "the handle-side edge faces camera in extreme side view, exposing only a narrow dark crack",
            "state": "closed but beginning to give"
          },
          {
            "camera_use": "thin intrusion tool held in the door gap",
            "directionality_class": "content_surface",
            "element": "advertising flyer",
            "orientation": "the printed face is partly visible where it folds into the crack, but the text is cropped and unreadable",
            "state": "half inserted, bent under pressure"
          },
          {
            "camera_use": "dark negative space separating inside and outside",
            "directionality_class": "transparent_surface",
            "element": "door crack darkness",
            "orientation": "a narrow opening with no clear interior detail visible beyond it",
            "state": "thin, shadowed, widening imperceptibly"
          }
        ],
        "lighting_mood": "A single cold rooftop practical skims the metal and paper fibers, making the crack feel damp, gray, and invasive.",
        "perception_mode": "direct",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 3,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only the stranger's hand and fingertip are visible; an outlook-specific visual reference would overdefine a face and body that must remain excluded.",
            "subject_id": "C08"
          }
        ]
      },
      {
        "camera_direction": "Hard-cut to outside the closed window at eye level, close to the glass and slightly oblique, holding the reflection as a flat image rather than entering the room. 낯선 남자's enlarged shadow mass presses from upper left toward 민숙's compressed shoulder silhouette at lower right, with the window frame pinning the violence into a mute, distorted pane.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "pressing body downward",
            "character": "낯선 남자",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C05",
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "shoulder compressed inward",
            "character": "민숙",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "main image-bearing surface; the action is perceived through it",
            "directionality_class": "reflective_surface",
            "element": "closed window glass",
            "orientation": "the glass reflects enlarged interior shadows and faint rooftop darkness, flattening both figures into a single distorted surface image",
            "state": "closed, grimy, slightly wet"
          },
          {
            "camera_use": "rigid border that traps the reflected silhouettes",
            "directionality_class": "directional_3d",
            "element": "window frame",
            "orientation": "the exterior-facing frame edges create vertical and horizontal bars around the reflection",
            "state": "closed, chipped paint"
          },
          {
            "camera_use": "soft obstruction across the reflected bodies",
            "directionality_class": "transparent_surface",
            "element": "thin curtain behind glass",
            "orientation": "semi-sheer fabric blurs the interior shadows seen through and reflected on the pane",
            "state": "drawn, unmoving"
          }
        ],
        "lighting_mood": "Dim interior practical light throws oversized black silhouettes onto cold, dirty glass, with the desaturated rooftop night swallowing all color except faint brown-gray highlights.",
        "perception_mode": "reflection",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 4,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Both subjects are represented as reflected silhouettes; base identity is needed, but detailed outlook reference should not be forced into the shadow image.",
            "subject_id": "C08"
          },
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "민숙 is visible only as a compressed reflected silhouette, so a full outlook-specific reference would contradict the flat shadow treatment.",
            "subject_id": "C05"
          }
        ]
      },
      {
        "camera_direction": "On the rooftop landing, the camera holds eye-level about two meters from the entrance, squared off to the half-open metal door with no character entering frame. The door sits slightly off-center, its black gap occupying a narrow vertical wedge while the surrounding landing remains still and unnaturally empty.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "primary focal object and source of dread",
            "directionality_class": "directional_3d",
            "element": "rooftop metal front door",
            "orientation": "the outer face is squared to camera, opened halfway inward so the dark inner edge is visible",
            "state": "half-open, frozen in place"
          },
          {
            "camera_use": "negative space beyond the threshold",
            "directionality_class": "transparent_surface",
            "element": "open doorway gap",
            "orientation": "the gap reveals only darkness and indistinct interior depth beyond the door",
            "state": "open, unlit"
          },
          {
            "camera_use": "static base plane emphasizing the pause",
            "directionality_class": "non_directional",
            "element": "rooftop landing floor",
            "orientation": "",
            "state": "damp, scuffed, wind-stilled"
          }
        ],
        "lighting_mood": "Cold rooftop darkness and a weak exterior bulb flatten the metal door into dull blue-gray, with the gap falling into dense black.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Reverse-cut from the door to an extreme close frontal position at 수리영's eye level, less than a meter away, but her pupils are locked just off-camera toward the doorway. Her widened eyes and rigid expression fill the frame, with only a thin smear of rooftop darkness at the edge to suggest the open gap she is facing.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "frozen mid-breath",
            "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": "barely visible edge cue for the source of her stare",
            "directionality_class": "directional_3d",
            "element": "doorway edge blur",
            "orientation": "only a dark, out-of-focus vertical edge sits near her eyeline, implying the open door just outside the frame",
            "state": "open, indistinct"
          },
          {
            "camera_use": "thin background texture around her face",
            "directionality_class": "non_directional",
            "element": "rooftop night air",
            "orientation": "",
            "state": "cold, hazy, still"
          }
        ],
        "lighting_mood": "A dim exterior practical grazes one side of her face while the other falls into blue-black shadow, making the eyes glassy and tense.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside 수리영's room, the tracking move from the half-open door completes at chest height near the window curtain and settles into a horrified hold as the fabric clears. 민숙's seated body dominates the center behind the curtain line, head lowered and shoulders collapsed, while blood-darkened floor marks lead from the lower foreground toward her.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "slumped behind curtain",
            "character": "민숙",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "reveal curtain and partial foreground veil",
            "directionality_class": "transparent_surface",
            "element": "window curtain",
            "orientation": "thin fabric is pulled aside but still hangs along frame edge, partly veiling the seated body",
            "state": "parted, stained, trembling slightly"
          },
          {
            "camera_use": "path leading the eye into the reveal",
            "directionality_class": "non_directional",
            "element": "bloody footprints on floor",
            "orientation": "",
            "state": "wet-looking, irregular, leading to the curtain"
          },
          {
            "camera_use": "dark vertical backdrop behind the body",
            "directionality_class": "transparent_surface",
            "element": "window glass behind curtain",
            "orientation": "night darkness is faintly visible through the glass behind the parted curtain",
            "state": "closed, dim, smeared"
          }
        ],
        "lighting_mood": "TV spill from the living room and a weak room practical mix into sickly blue-gray, with deep red-brown blood tones muted rather than bright.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the low side position beside 민숙, the camera dollies into an extreme close insert at knee-to-floor height, angled slightly upward along her lowered arm. Her slack bloodied hand and the crumpled photograph occupy the center, with the wrist edge nearby but the rest of the body reduced to dark, out-of-focus mass.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "limp hand clutching photo",
            "character": "민숙",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "primary clue held in the hand",
            "directionality_class": "content_surface",
            "element": "crumpled photograph",
            "orientation": "only the creased image face is turned partly toward camera, its contents obscured by folds and blood smears",
            "state": "crumpled, stained, tightly caught in the fingers"
          },
          {
            "camera_use": "nearby supernatural lead-in for the next move",
            "directionality_class": "directional_3d",
            "element": "wrist area",
            "orientation": "the side of the wrist lies close to camera, partially visible beside the photograph",
            "state": "bloodied, still"
          },
          {
            "camera_use": "low textured surface beneath the hand",
            "directionality_class": "non_directional",
            "element": "room floor",
            "orientation": "",
            "state": "dark, damp with blood, shallow focus"
          }
        ],
        "lighting_mood": "The hand is lit by a dim, cold practical with a faint red-brown bounce from the floor, keeping the detail intimate and oppressive.",
        "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": "The shot isolates 민숙's hand and photograph; a full outlook reference is unnecessary and could interfere with the intended body-part insert.",
            "subject_id": "C05"
          }
        ]
      },
      {
        "camera_direction": "The low tilt from hand level finishes locked on the wall above the bed, close enough that the room layout disappears and the wall surface becomes the frame. A large red circular mark sits centered slightly high, its brushlike edge uneven and wet-looking, with no visible hand or tool creating it.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "primary supernatural image surface",
            "directionality_class": "content_surface",
            "element": "wall above the bed",
            "orientation": "the camera-facing wall surface carries the fresh red circular mark like a painted symbol",
            "state": "flat, stained, newly marked"
          },
          {
            "camera_use": "thin lower reference edge only",
            "directionality_class": "directional_3d",
            "element": "bed top edge",
            "orientation": "only the upper edge of the bed barely enters the lower frame as a horizontal reference below the wall",
            "state": "mostly cropped out, still"
          },
          {
            "camera_use": "texture revealing the mark's materiality",
            "directionality_class": "non_directional",
            "element": "painted wall texture",
            "orientation": "",
            "state": "matte, cold, uneven under low light"
          }
        ],
        "lighting_mood": "A cold room light rakes the wall texture while the red circle appears unnaturally saturated against the otherwise desaturated blue-gray room.",
        "perception_mode": "direct",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 14,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "On the narrow rooftop exterior landing, the handheld camera starts waist-high about twelve feet from the iron stair run, angled slightly upward toward the doorway and upper steps. 수리영 bursts into a wide full-body frame near the upper stairs, mouth open in a scream, one foot lifted over the next step as if she may miss it before the camera begins backing down the stair axis.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "one foot suspended",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "lower stair run and camera direction",
              "label": "수리영",
              "screen_zone": "upper_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "descending iron stair run",
              "screen_zone": "lower_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "diagonal movement path and danger surface",
            "directionality_class": "directional_3d",
            "element": "iron exterior stairs",
            "orientation": "the stair run angles down from upper center toward the lower foreground, rails framing her unstable descent",
            "state": "wet-looking, dark, narrow"
          },
          {
            "camera_use": "origin point behind her",
            "directionality_class": "directional_3d",
            "element": "rooftop doorway",
            "orientation": "the open doorway faces camera from behind 수리영 at the top landing",
            "state": "open, black inside"
          },
          {
            "camera_use": "cold urban background texture",
            "directionality_class": "non_directional",
            "element": "rooftop night haze",
            "orientation": "",
            "state": "dim, windy, desaturated"
          }
        ],
        "lighting_mood": "Blue-black night and hard exterior stairwell light create jittery metal highlights, with distant siren color barely tinting the lower frame.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From ground level beside 수리영 and 혜수, the lens sits slightly below 혜수’s eye line and closer to 수리영’s side profile, about three feet away, holding a tight lateral composition. 수리영 occupies the lower-left foreground with her lifted face and trembling mouth sharp, while 혜수’s face hovers higher on the right edge as the emotional target she is looking up to.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "shoulders collapsed, chin lifted",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning in urgently",
            "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, pulsing color spill across the actors’ faces and wet ground, keeping the confession rooted outside the building.",
            "directionality_class": "non_directional",
            "element": "police car emergency light wash",
            "orientation": "",
            "state": "flashing red-blue through coastal haze"
          },
          {
            "camera_use": "Blurred vertical geometry behind them, implying the descent from the rooftop without pulling focus.",
            "directionality_class": "directional_3d",
            "element": "rooftop iron stair structure",
            "orientation": "its side rail lines recede diagonally behind the characters, facing camera as dark vertical and slanted bars",
            "state": "damp and slick"
          },
          {
            "camera_use": "Low background texture catching faint practical light beneath the figures.",
            "directionality_class": "non_directional",
            "element": "wet pavement",
            "orientation": "",
            "state": "dark, reflective with rain residue"
          }
        ],
        "lighting_mood": "Cold police strobes and weak sodium spill carve their faces in desaturated blue-red pulses, with damp night air softening the contrast.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the bedroom doorway at standing eye level, the camera holds unnaturally still just behind the threshold in a wide, symmetrical frame. The bed sits to one side, the spotless floor opens through the center, and the intact curtain hangs in the background where evidence should be, making the empty room feel staged rather than safe.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary evidence void; its neatness reads as a denial of the previous horror.",
            "directionality_class": "directional_3d",
            "element": "bed",
            "orientation": "the clean top surface and front edge face the camera from inside the doorway",
            "state": "perfectly made, no blood, no red mark"
          },
          {
            "camera_use": "The open central negative space emphasizes that nothing remains on the floor.",
            "directionality_class": "non_directional",
            "element": "bedroom floor",
            "orientation": "",
            "state": "spotless, dry, unnaturally clean"
          },
          {
            "camera_use": "Background focal absence, marking where the body should have been hidden.",
            "directionality_class": "directional_3d",
            "element": "curtain",
            "orientation": "its room-facing fabric plane is visible, hanging flat toward the camera",
            "state": "intact, closed-looking, undisturbed"
          },
          {
            "camera_use": "Frames the shot as a forensic threshold the camera refuses to cross yet.",
            "directionality_class": "directional_3d",
            "element": "bedroom doorway",
            "orientation": "the inner edges of the doorframe face camera and create a rigid border around the room",
            "state": "open, still"
          }
        ],
        "lighting_mood": "Dim practical room light mixes with cold dawn-gray spill, flattening the clean surfaces into a desaturated, suspicious calm.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From inside the bedroom near the curtain side, the camera completes a slow dolly-in to a tight close-up slightly below 수리영’s eye level. Her pale face fills the foreground in three-quarter view, while the empty curtain area stays soft behind her shoulder, present only as a blurred accusation.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "frozen mid-turn",
            "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": "Soft background context, showing the place where the corpse should have been without competing with her face.",
            "directionality_class": "directional_3d",
            "element": "curtain",
            "orientation": "its pale fabric surface faces the lens behind 수리영, slightly out of focus",
            "state": "intact and empty"
          },
          {
            "camera_use": "A blurred strip behind her cheek that reinforces the impossible cleanliness.",
            "directionality_class": "non_directional",
            "element": "clean bedroom wall and floor edge",
            "orientation": "",
            "state": "unmarked, bloodless"
          },
          {
            "camera_use": "Barely visible side mass that narrows the room around her panic.",
            "directionality_class": "directional_3d",
            "element": "bed edge",
            "orientation": "only the side edge is visible behind her, angled away from camera",
            "state": "neatly arranged"
          }
        ],
        "lighting_mood": "Cool, low-contrast indoor light drains color from 수리영’s skin while the background curtain falls into a gray-green haze.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Low in one corner of 수리영’s bedroom near floor level, the camera holds a tight still-life close-up looking diagonally across the backpack and doll. The backpack sits in the left mid-foreground with its face turned slightly off-axis, while the doll rests beside it at a subtly incompatible angle, leaving just enough floor and wall corner for scale.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary clue object; its altered direction suggests the room has been touched.",
            "directionality_class": "directional_3d",
            "element": "backpack",
            "orientation": "its front pocket plane is angled slightly away from camera instead of square to the room",
            "state": "closed, shifted from its earlier placement"
          },
          {
            "camera_use": "Second clue object; its orientation mismatch creates quiet unease.",
            "directionality_class": "directional_3d",
            "element": "doll",
            "orientation": "its face and torso are turned at a different diagonal from the backpack, partly toward the lens",
            "state": "still, subtly repositioned"
          },
          {
            "camera_use": "Provides a rigid reference line that makes the tiny object rotations readable.",
            "directionality_class": "directional_3d",
            "element": "bedroom wall corner",
            "orientation": "two wall planes meet behind the objects, one plane facing camera more directly",
            "state": "plain, dim, clean"
          },
          {
            "camera_use": "Texture plane under the objects, confirming no blood or disturbance except their angle.",
            "directionality_class": "non_directional",
            "element": "clean floor surface",
            "orientation": "",
            "state": "bare, dustless, bloodless"
          }
        ],
        "lighting_mood": "A weak practical glow falls off into bluish shadow, making the small shifted objects feel more sinister than the empty room itself.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 12,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At bench-side height about two meters away, the camera holds a wide profile frame with 수리영 seated along the lower third and the dark sea horizon stretching behind her. The bench reads horizontally across the frame, her still body fixed against the cold open water rather than isolated from it.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "hands resting on knees",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Emotional negative space behind 수리영, giving her confusion a vast, cold backdrop.",
            "directionality_class": "non_directional",
            "element": "night sea and horizon",
            "orientation": "",
            "state": "dark, hazy, nearly still"
          },
          {
            "camera_use": "Grounds her body in the bus-stop space and creates the lateral line for the next approach.",
            "directionality_class": "directional_3d",
            "element": "bus stop bench",
            "orientation": "the long side of the bench runs across frame in profile, seat edge visible to camera",
            "state": "empty except for 수리영, damp from sea air"
          },
          {
            "camera_use": "Provides a thin shelter frame and faint civic context without warmth.",
            "directionality_class": "transparent_surface",
            "element": "bus stop glass panel",
            "orientation": "salt-fogged glass catches faint reflections while the dark coast remains visible beyond it",
            "state": "smudged, cold, partially translucent"
          },
          {
            "camera_use": "Adds coastal texture at the bottom of frame.",
            "directionality_class": "non_directional",
            "element": "wet roadside pavement",
            "orientation": "",
            "state": "dark, slightly reflective"
          }
        ],
        "lighting_mood": "Blue-black coastal haze and sparse bus-stop practical light desaturate the scene, leaving 수리영 almost swallowed by the horizon.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Close to the front edge of the bench at chest height and slightly below 혜수’s hand line, the camera tracks into the instant the canned drink stops just in front of 수리영’s face. The can holds the sharp foreground focus without exceeding the frame, 혜수 compresses into an arm-and-upper-torso presence on one side, and 수리영’s blank reaction hangs softly behind it.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "arm extended with can",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_right",
            "body_pose": "perched on bench edge",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Foreground interruption between care and shock, used as the focus pull target.",
            "directionality_class": "directional_3d",
            "element": "canned drink",
            "orientation": "its cylindrical side faces camera at a slight diagonal, with the top rim visible near 혜수’s fingers",
            "state": "unopened, cold, held still"
          },
          {
            "camera_use": "Low horizontal anchor behind the close interaction.",
            "directionality_class": "directional_3d",
            "element": "bus stop bench edge",
            "orientation": "front edge faces camera beneath the characters, running laterally through the lower frame",
            "state": "damp, dimly lit"
          },
          {
            "camera_use": "Soft, dark background wash behind 수리영’s face.",
            "directionality_class": "non_directional",
            "element": "night sea haze",
            "orientation": "",
            "state": "blurred, cold, blue-black"
          },
          {
            "camera_use": "Faint side glow that outlines the can and faces.",
            "directionality_class": "content_surface",
            "element": "bus stop advertisement panel",
            "orientation": "the lit printed face is turned obliquely toward camera, its content unreadable but glowing as a muted rectangle",
            "state": "on, dim, desaturated"
          }
        ],
        "lighting_mood": "Muted bus-stop light and cold sea spill catch the metal can while both faces remain subdued in gray-blue shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From far across the roadside near dark foreground branches, a static long lens looks back toward the bus stop and coastal path. 혜수 is held as a foreground upper-body shape on the right with hands cupped at her mouth, while 수리영 is much smaller in the background left, caught mid-run with one foot lifted as she recedes away from the bench.",
        "character_angles": [
          {
            "angle": "over_shoulder",
            "body_pose": "hands cupped at mouth",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "one foot lifted running",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "running figure on coastal path",
              "label": "혜수",
              "screen_zone": "middle_right",
              "target_id": "C02",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "moves_toward",
              "gesture_target_label": "road away from bus stop",
              "label": "수리영",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "bus stop bench",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Voyeuristic foreground masking, implying an unseen watcher across the road.",
            "directionality_class": "non_directional",
            "element": "dark roadside branches",
            "orientation": "",
            "state": "out of focus, wind-still, black against haze"
          },
          {
            "camera_use": "Shared spatial anchor between 혜수 and the fleeing 수리영.",
            "directionality_class": "directional_3d",
            "element": "bus stop bench",
            "orientation": "seen from a distance at a shallow angle, its long side cutting across the background",
            "state": "empty, damp"
          },
          {
            "camera_use": "Escape path carrying 수리영 away from the conversation.",
            "directionality_class": "non_directional",
            "element": "coastal path",
            "orientation": "",
            "state": "wet, dim, receding into darkness"
          },
          {
            "camera_use": "Cold background void that deepens the sense of abandonment.",
            "directionality_class": "non_directional",
            "element": "dark sea beyond bus stop",
            "orientation": "",
            "state": "hazy, nearly featureless"
          }
        ],
        "lighting_mood": "Long-lens compression flattens cold sodium bus-stop light, blue sea haze, and black branch silhouettes into a muted surveillance-like palette.",
        "perception_mode": "direct",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the desk edge near eye level, the camera is just off the line between 혜수’s extended hand and 김형사’s face, dollying into the moment the phone stops inches from him. The phone screen with the saved number sits sharp in the foreground lower-center, while 김형사’s face is caught behind it in shallow focus and 혜수’s arm enters from the side like a demand made physical.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "arm thrust across desk",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C04",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_right",
            "body_pose": "recoiling in chair",
            "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 demand; the displayed number is the sharpest element.",
            "directionality_class": "content_surface",
            "element": "mobile phone screen",
            "orientation": "the lit front screen faces the camera at a slight diagonal, showing a saved phone number",
            "state": "on, held very close to 김형사"
          },
          {
            "camera_use": "Tension plane separating 혜수’s urgency from 김형사’s reluctance.",
            "directionality_class": "directional_3d",
            "element": "duty desk edge",
            "orientation": "the front edge cuts horizontally across the lower frame, its top surface receding toward 김형사",
            "state": "cluttered but subdued"
          },
          {
            "camera_use": "Background office texture behind 김형사’s blurred face.",
            "directionality_class": "content_surface",
            "element": "police office notice board",
            "orientation": "the paper-covered front face is visible behind him, text too soft to read",
            "state": "dim, cluttered, out of focus"
          },
          {
            "camera_use": "Practical institutional light source flattening the room.",
            "directionality_class": "directional_3d",
            "element": "desk lamp",
            "orientation": "its shade side points down toward the desk, rim visible in the background",
            "state": "on, weak"
          }
        ],
        "lighting_mood": "Greenish fluorescent office light and the cold phone glow create a tense, desaturated institutional pallor with shallow-focus pressure.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From low standing height over the desk surface, the camera tracks laterally into a close-medium angle across the desk toward 혜수. Her forward lean cuts diagonally from the upper left into the center, mouth clenched and eyes sharp toward 김형사’s seated position, while the desk surface remains a hard barrier in the lower foreground.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "bent over desk",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C04",
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "slouched behind monitor",
            "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": "Foreground pressure plane; its hard line makes 혜수’s lean feel invasive.",
            "directionality_class": "directional_3d",
            "element": "duty desk surface",
            "orientation": "the top plane faces camera from a low angle, stretching between both characters",
            "state": "cluttered with office items, dimly reflective"
          },
          {
            "camera_use": "Partial obstruction around 김형사, reinforcing his defensive seated position.",
            "directionality_class": "content_surface",
            "element": "computer monitor",
            "orientation": "the dark screen face is angled partly away from camera, reflecting little readable content",
            "state": "on standby or dim, mostly black"
          },
          {
            "camera_use": "Institutional background grid that boxes 혜수 into the station environment.",
            "directionality_class": "directional_3d",
            "element": "police office filing shelves",
            "orientation": "front edges of shelves face camera behind 혜수 in layered verticals",
            "state": "messy, low-lit"
          },
          {
            "camera_use": "Low practical source grazing her jaw and clenched mouth.",
            "directionality_class": "directional_3d",
            "element": "desk lamp",
            "orientation": "shade points downward toward the desk between them",
            "state": "on, weak yellow-green"
          }
        ],
        "lighting_mood": "Dirty fluorescent overheads mix with a weak desk lamp, giving 혜수’s face a cold olive cast and emphasizing the hard shadow under her clenched mouth.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Low beside the cement wall at cat height, about two meters off, the camera holds the moving track as a suspended instant at the peak of the leap. 검은 고양이 is caught in full-body profile across the middle of the frame, four paws stretched into the bluish air, with the lit rooftop room window and dawn haze behind it.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "four paws stretched mid-leap",
            "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": "Launch point and low foreground geometry under the cat.",
            "directionality_class": "directional_3d",
            "element": "cement rooftop wall",
            "orientation": "the top ledge runs diagonally away from camera, with the side face visible beneath the cat",
            "state": "rough, cold, slightly damp"
          },
          {
            "camera_use": "Background destination and occult domestic lure behind the jump.",
            "directionality_class": "transparent_surface",
            "element": "lit rooftop room window",
            "orientation": "the glass is faintly dirty, with warm interior light visible through it from behind the cat",
            "state": "closed, illuminated from inside"
          },
          {
            "camera_use": "Atmospheric color field silhouetting the cat’s body.",
            "directionality_class": "non_directional",
            "element": "blue dawn haze",
            "orientation": "",
            "state": "thin, cold, early morning"
          },
          {
            "camera_use": "Soft exterior structure grounding the rooftop room in the background.",
            "directionality_class": "directional_3d",
            "element": "rooftop room exterior wall",
            "orientation": "one wall plane faces camera at a three-quarter angle behind the leaping cat",
            "state": "dim, weathered"
          }
        ],
        "lighting_mood": "Bluish dawn light outlines the cat while the warm window glows faintly behind it, creating a desaturated coastal chill with a small unnatural glint in its eyes.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 17,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow's low seated position near the foot-left corner of the bed, the camera holds a tighter upper-body frame on 수리영 at the bed edge, slightly below eye level and angled upward into the morning window backlight. Her bowed head and knees occupy the lower-middle of frame, with the bed edge cutting diagonally across the foreground so the bright room feels physically close but emotionally airless.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "hugging knees on bed",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "soft backlight source behind the seated figure",
            "directionality_class": "transparent_surface",
            "element": "master bedroom window",
            "orientation": "hazy glass surface behind 수리영, with cold morning light seen through it",
            "state": "closed, bright with coastal haze"
          },
          {
            "camera_use": "foreground diagonal that pins her to the edge of the room",
            "directionality_class": "directional_3d",
            "element": "bed edge",
            "orientation": "left-foot corner and side rail face the camera at a shallow diagonal",
            "state": "rumpled from a sleepless night"
          },
          {
            "camera_use": "muted texture around her silhouette",
            "directionality_class": "non_directional",
            "element": "pale bedding",
            "orientation": "",
            "state": "creased and dimly desaturated despite the sun"
          }
        ],
        "lighting_mood": "Cold morning sunlight is desaturated by haze, leaving the bedroom bright but emotionally drained, with soft shadows under her face.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At sink height and very close to the mirror plane, the shot uses the mirror as the main image: 수리영 appears partially reflected in the left-middle foreground while the reflected tile wall opens behind her shoulder. The red circular mark sits in the upper-right portion of the reflected wall, held sharp while her reflected breath and shoulder line feel slightly shallow-focused.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning over sink",
            "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": "mirror image plane",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "red circular mark on reflected tile wall",
              "screen_zone": "upper_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "primary image plane and psychological trap",
            "directionality_class": "reflective_surface",
            "element": "bathroom mirror",
            "orientation": "reflects 수리영 at the sink and the tile wall behind her, with slight edge haze and reversed spatial orientation",
            "state": "clean but cool and unforgiving"
          },
          {
            "camera_use": "surface where the impossible mark appears in reflection",
            "directionality_class": "content_surface",
            "element": "reflected tile wall with red circular mark",
            "orientation": "the camera-visible reflected face of the wall carries a vivid blood-red circular symbol over 수리영's shoulder",
            "state": "otherwise clean, the mark appearing unnaturally fresh"
          },
          {
            "camera_use": "low foreground boundary below the reflection",
            "directionality_class": "directional_3d",
            "element": "sink rim",
            "orientation": "front lip faces camera just below the mirror line",
            "state": "wet from recent face washing"
          }
        ],
        "lighting_mood": "The bathroom is lit by cold daylight and weak practical fill, while the red mark has a saturated, almost self-assertive stain against the desaturated tiles.",
        "perception_mode": "mirror",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 12,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the low tabletop path of the flow, the dolly-in has reached an extreme close observation of the framed photo, now felt as 수리영's subjective stare. 민숙's smiling printed face takes roughly two-thirds of the frame as it seems to sag downward like wet clay, with only a thin strip of photo frame and blurred table edge left for scale.",
        "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": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "hallucinated focal surface",
            "directionality_class": "content_surface",
            "element": "framed family photograph",
            "orientation": "the photo face is turned toward camera, showing 민숙's smiling portrait distorted into a melting hallucination",
            "state": "upright on the dining table, visually corrupted only in this perception"
          },
          {
            "camera_use": "thin specular layer that makes the image feel trapped under glass",
            "directionality_class": "reflective_surface",
            "element": "photo frame glass",
            "orientation": "faintly reflects the room's dim window light across the warped printed face",
            "state": "intact, slightly smudged"
          },
          {
            "camera_use": "minimal scale reference below the frame",
            "directionality_class": "directional_3d",
            "element": "living-room dining table edge",
            "orientation": "near tabletop edge runs horizontally at the bottom of frame",
            "state": "still, muted, falling out of focus"
          }
        ],
        "lighting_mood": "Muted daylight and a weak interior practical flatten into a sickly gray palette, while the hallucinated face carries a damp, muddy darkness that feels internally wrong.",
        "perception_mode": "hallucination",
        "perspective": "subjective_pov",
        "pov_character": "수리영",
        "scene_index": 18,
        "shot_index": 15,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Outside under the mart awning, the camera inherits the frontal medium position slightly below 수리영's eye line and completes a minimal upward tilt that links her face to the CCTV mounted above. 수리영 holds the center-lower frame, her chin lifted toward the upper background where the camera unit under the eaves becomes the object of her fixed attention.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "neck craned upward",
            "character": "수리영",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "CCTV camera under the awning",
              "label": "수리영",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "CCTV camera under the awning",
              "screen_zone": "upper_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "target of her upward stare and investigative hope",
            "directionality_class": "directional_3d",
            "element": "CCTV camera under the awning",
            "orientation": "lens side points diagonally down toward the mart exterior and toward 수리영's sightline",
            "state": "mounted, still, ambiguous whether active"
          },
          {
            "camera_use": "overhead frame compressing her beneath surveillance",
            "directionality_class": "directional_3d",
            "element": "mart awning",
            "orientation": "underside faces camera, with the eave line cutting across the upper frame",
            "state": "weathered, dull, casting shade"
          },
          {
            "camera_use": "quiet exterior context behind her",
            "directionality_class": "transparent_surface",
            "element": "mart front glass",
            "orientation": "slightly reflective glass shows dim interior shapes beyond the entrance",
            "state": "closed or still, early-morning quiet"
          }
        ],
        "lighting_mood": "Overcast daylight under the awning turns cool and flat, with the CCTV housing casting a hard little shadow above her tense face.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera settles into the flow's chest-height medium-close position directly before 수리영, tightened to an upper-body crop while keeping a sliver of the mart exterior around her shoulders. Her phone hand occupies the right side of her face, and her expression hardens in the center of frame as the still background makes the call feel exposed.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "phone pressed to ear",
            "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": "muted exterior boundary behind her head",
            "directionality_class": "directional_3d",
            "element": "mart entrance wall",
            "orientation": "flat front-facing wall plane sits behind 수리영 at a slight angle",
            "state": "dull, still, lightly weathered"
          },
          {
            "camera_use": "soft surveillance residue from previous shot",
            "directionality_class": "directional_3d",
            "element": "awning shadow line",
            "orientation": "underside edge runs above and behind her, no longer the focal point",
            "state": "static, dim"
          },
          {
            "camera_use": "small action prop near face",
            "directionality_class": "directional_3d",
            "element": "mobile phone",
            "orientation": "side edge and back are visible as it is pressed to her ear",
            "state": "in use during the call"
          }
        ],
        "lighting_mood": "Cool outdoor shade desaturates her skin and clothing, while the phone-side cheek falls into a slightly harder shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the cramped office doorway at eye level, the camera holds a slightly wider medium-wide composition, looking inward past the doorframe toward the desk. 한국인 남성 보안직원 and 혜수 lean toward the monitor in the middle ground, while 수리영 presses close behind them, all three compressed by the narrow walls and the blue monitor glow.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "leaning over keyboard",
            "character": "한국인 남성",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "bracing on desk edge",
            "character": "혜수",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning between shoulders",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "desk and monitor shared anchor",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영 behind the others",
              "screen_zone": "middle_right",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "혜수 and security employee at monitor",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "narrow entry frame emphasizing cramped access",
            "directionality_class": "directional_3d",
            "element": "office doorway",
            "orientation": "doorframe sides face camera and crop the group from both edges",
            "state": "open, tight, dim"
          },
          {
            "camera_use": "main light source and point of collective attention",
            "directionality_class": "content_surface",
            "element": "CCTV monitor",
            "orientation": "front screen faces the group and camera at an oblique angle, showing dark surveillance footage",
            "state": "on, murky, hard to read"
          },
          {
            "camera_use": "confining work surface under their bodies",
            "directionality_class": "directional_3d",
            "element": "office desk",
            "orientation": "front corner points toward camera from the center of the room",
            "state": "cluttered, functional"
          },
          {
            "camera_use": "background compression and institutional texture",
            "directionality_class": "non_directional",
            "element": "cramped office walls",
            "orientation": "",
            "state": "dim, stained by monitor spill"
          }
        ],
        "lighting_mood": "The room is mostly lit by cold bluish monitor spill and weak overhead fluorescents, giving the office a damp, desaturated institutional gloom.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the end of the flow's track, the camera becomes nearly still in a tight eye-level close-up just off the monitor side, excluding the others and most of the desk. 수리영's face occupies the central frame, with the monitor glow arriving from front-left so her pupils seem to tremble before the rest of the room disappears into soft darkness.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "frozen forward lean",
            "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": "수리영 isolated close-up",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "off-frame illumination shaping her anxiety",
            "directionality_class": "content_surface",
            "element": "CCTV monitor glow",
            "orientation": "screen face is mostly outside frame to camera-left, but its bluish image light falls across her face",
            "state": "on, flickering faintly"
          },
          {
            "camera_use": "barely readable dark office depth behind her",
            "directionality_class": "non_directional",
            "element": "office background clutter",
            "orientation": "",
            "state": "blurred, dim, compressed"
          },
          {
            "camera_use": "subtle foreground edge implying the desk without distracting",
            "directionality_class": "directional_3d",
            "element": "desk corner",
            "orientation": "only a soft lower-edge sliver faces camera",
            "state": "out of focus"
          }
        ],
        "lighting_mood": "Blue monitor light carves her features against a low-key gray office, with the surrounding shadows kept heavy and desaturated.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the tight desk-side position slightly below 수리영's eye line, the dolly-in settles into an extreme facial close-up as she looks down at the photographs below frame. Her widened eyes and open mouth occupy most of the image, while only blurred paper edges at the bottom hint at what has overwhelmed her.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "hunched over photographs",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영 shock close-up",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "blurred trigger below her face",
            "directionality_class": "content_surface",
            "element": "investigative photographs on desk",
            "orientation": "printed faces of the photos angle upward from the desk but remain mostly out of focus below frame",
            "state": "scattered, disturbing, not fully legible"
          },
          {
            "camera_use": "supporting surface anchoring her downward gaze",
            "directionality_class": "directional_3d",
            "element": "police desk",
            "orientation": "desktop plane runs below camera line toward her body",
            "state": "cluttered with files and photos"
          },
          {
            "camera_use": "institutional background texture behind the close-up",
            "directionality_class": "non_directional",
            "element": "police office background",
            "orientation": "",
            "state": "muted, busy, softened by shallow focus"
          }
        ],
        "lighting_mood": "Flat police-office daylight mixes with stale fluorescent green-gray, leaving her face pale and cold as the desk below falls into anxious blur.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The tracking move ends in a near-still medium-close side profile beside 수리영 near the desk, opening the composition slightly toward the office entrance she is watching. Her hand remains visible at the lower frame tucked into her pocket around the folded note, while her face cuts across the middle-right in a guarded line of sight toward the doorway.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "hand tucked in pocket",
            "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": "office entrance",
              "label": "수리영",
              "screen_zone": "middle_right",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "office entrance",
              "screen_zone": "middle_left",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "threat direction and escape boundary",
            "directionality_class": "directional_3d",
            "element": "police office entrance",
            "orientation": "open doorway faces camera-left from 수리영's sightline",
            "state": "open, temporarily empty"
          },
          {
            "camera_use": "evidence of her secret action held low in frame",
            "directionality_class": "directional_3d",
            "element": "desk edge beside her",
            "orientation": "side edge runs between her body and the doorway, partially blocking the lower frame",
            "state": "cluttered, still"
          },
          {
            "camera_use": "hidden prop implied by her pocketed hand",
            "directionality_class": "directional_3d",
            "element": "jacket pocket with folded note",
            "orientation": "pocket opening faces camera enough to show her hand pressed inside",
            "state": "concealing the note"
          }
        ],
        "lighting_mood": "Cool office fluorescents flatten the room, but the doorway side is slightly darker, turning her profile into a cautious silhouette against bureaucratic gray.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 9,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow's low side-tracking position beside the road, the camera moves parallel to 수리영 at waist height as she powers the bicycle away from the police station. Her forward-bent torso and one sharply bent knee dominate the middle of the frame in dynamic side profile, with the overcast sky held across the upper background as she begins to pull ahead.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "driving bicycle pedals",
            "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 road",
              "label": "수리영 on bicycle",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "police station frontage receding behind her",
              "screen_zone": "middle_left",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "receding institutional origin point behind her departure",
            "directionality_class": "directional_3d",
            "element": "police station frontage",
            "orientation": "building front faces the road at camera-left as it slips behind her",
            "state": "static, gray, official"
          },
          {
            "camera_use": "motion surface under the bicycle",
            "directionality_class": "non_directional",
            "element": "road surface",
            "orientation": "",
            "state": "dry to slightly damp, muted asphalt texture"
          },
          {
            "camera_use": "upper negative space emphasizing urgency under bad weather",
            "directionality_class": "non_directional",
            "element": "overcast sky",
            "orientation": "",
            "state": "clouded, cold, colorless"
          },
          {
            "camera_use": "vehicle carrying her forward motion",
            "directionality_class": "directional_3d",
            "element": "bicycle frame",
            "orientation": "side profile visible, front wheel aimed toward screen right",
            "state": "in motion, gaining speed"
          }
        ],
        "lighting_mood": "A cold overcast wash desaturates the exterior, with faint damp road texture and no warm fill to soften her urgent escape.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 22,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At eye level from the PC desk, the camera holds an unnervingly tight frontal close-up about two feet from 수리영, with the monitor body mostly cropped out below the lens line. Her face occupies the center-right of frame, rigid and shallow-focused, while the unseen screen’s blue wash carves her cheekbones and leaves the PC cubicle edges as soft darkness.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "hunched toward monitor",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Off-frame light source shaping her face from below the lens axis.",
            "directionality_class": "content_surface",
            "element": "computer monitor screen",
            "orientation": "The lit screen face is mostly below frame and angled toward 수리영, visible mainly as blue spill rather than readable content.",
            "state": "on, cold blue glow"
          },
          {
            "camera_use": "Soft, dark side boundaries that compress the close-up.",
            "directionality_class": "directional_3d",
            "element": "PC booth partitions",
            "orientation": "Their inner side panels flank the frame in blur, facing inward toward the desk.",
            "state": "dim, worn, nearly black"
          },
          {
            "camera_use": "Minimal texture at the bottom edge to ground the desk location.",
            "directionality_class": "non_directional",
            "element": "dark computer desk surface",
            "orientation": "",
            "state": "cluttered but mostly obscured"
          }
        ],
        "lighting_mood": "A desaturated, low-key blue monitor glow dominates, with the rest of the PC room sinking into damp, practical-lit darkness.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 23,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the wet road shoulder at waist height, the camera tracks parallel about four meters off 수리영’s front-left side, holding a wider full-body profile as the bicycle cuts through the downpour. She sits in the middle-left of frame with the road streaking diagonally behind her, one knee bent hard into the pedal and rain slashing backward against her motion.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "one knee driving pedal",
            "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": "Motion-streaked surface emphasizing speed and danger.",
            "directionality_class": "non_directional",
            "element": "rain-slick coastal road",
            "orientation": "",
            "state": "wet, reflective, darkened by storm"
          },
          {
            "camera_use": "Diagonal background line that reinforces forward tracking movement.",
            "directionality_class": "directional_3d",
            "element": "road shoulder edge",
            "orientation": "The shoulder runs away from camera along the same direction as the bicycle, its side edge visible as a slick grey strip.",
            "state": "soaked, uneven"
          },
          {
            "camera_use": "Atmospheric veil cutting contrast across the whole frame.",
            "directionality_class": "non_directional",
            "element": "heavy rain curtain",
            "orientation": "",
            "state": "active, wind-driven, dense"
          },
          {
            "camera_use": "Cold horizon mass behind her body, keeping the coastal setting present.",
            "directionality_class": "non_directional",
            "element": "storm-cloud sky",
            "orientation": "",
            "state": "low, dark, thunderous"
          }
        ],
        "lighting_mood": "Flat storm light and cold coastal haze desaturate the image, with wet asphalt catching brief silver highlights under the rain.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 24,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside 수리영’s bedroom at eye level, the dolly-in has reached its end point and freezes square-on two feet from the wall. The red circular mark fills the wall plane without distorting scale, while the blood-stained old photograph is pinned at the exact center, sharp against the muted, damaged room edges barely visible at the frame margins.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary graphic surface of the reveal, held flat to camera for ritualistic symmetry.",
            "directionality_class": "content_surface",
            "element": "bedroom wall with red circular mark",
            "orientation": "The marked wall face is directly facing the camera; a vivid red circle is painted on the visible plane around the pinned photograph.",
            "state": "defaced, dry paint visible"
          },
          {
            "camera_use": "Central focal object that carries the mystery clue.",
            "directionality_class": "content_surface",
            "element": "blood-stained old photograph",
            "orientation": "The photograph’s image side faces the camera, visibly stained with blood and fixed at the center of the red circle.",
            "state": "old, creased, blood-marked, pinned"
          },
          {
            "camera_use": "Tiny anchoring detail showing the photo has been deliberately placed.",
            "directionality_class": "directional_3d",
            "element": "pin or tack at photograph center",
            "orientation": "The pin head faces the camera as a small protruding point from the wall.",
            "state": "fixed, unmoving"
          }
        ],
        "lighting_mood": "Late-evening ambient light is cold and drained, with the red mark unnaturally saturated against the otherwise grey, ransacked interior.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Near the open front door at waist height, the camera faces back into the ransacked room at full-body distance and holds the dolly-out endpoint as 수리영 approaches the threshold. She occupies the center of frame with the backpack visible on her shoulders, one foot lifted before stepping out, and the crumpled photograph clenched low in one hand while the open door frames the right edge.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "one foot lifted",
            "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": "open front door",
              "label": "수리영",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "open front door",
              "screen_zone": "middle_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Exit frame and spatial threshold she is about to cross.",
            "directionality_class": "directional_3d",
            "element": "open front door",
            "orientation": "The inner face and door thickness are visible from inside the room, hinged open toward the camera side.",
            "state": "open, rattled by wind"
          },
          {
            "camera_use": "Chaotic midground context behind her, showing the intrusion’s aftermath.",
            "directionality_class": "directional_3d",
            "element": "overturned dining chairs",
            "orientation": "Chair backs and legs face different directions across the floor, making the room feel violated.",
            "state": "knocked over, scattered"
          },
          {
            "camera_use": "Background wound in the apartment, letting dusk and cold air in.",
            "directionality_class": "transparent_surface",
            "element": "living room window",
            "orientation": "The open window frame exposes the dim exterior haze beyond; glass edges catch weak light.",
            "state": "open, damp, unattended"
          },
          {
            "camera_use": "Ground texture implying someone searched the space before she leaves.",
            "directionality_class": "non_directional",
            "element": "dirty floor with footprints",
            "orientation": "",
            "state": "muddy, disturbed"
          }
        ],
        "lighting_mood": "Dusk light leaks through the open window and doorway in a cold grey wash, leaving the wrecked room desaturated and hollow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the landward edge of the harbor at tripod height, the camera holds a very wide static frame across the empty wet pier toward the fog-swallowed sea. The pier occupies the lower half as a dark slick plane, the waterline dissolves into the middle distance, and no boats break the dense coastal haze.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Main spatial expanse, creating loneliness before any character enters.",
            "directionality_class": "non_directional",
            "element": "empty wet pier",
            "orientation": "",
            "state": "slick, deserted, rain-darkened"
          },
          {
            "camera_use": "Atmospheric barrier that hides the boats and horizon.",
            "directionality_class": "non_directional",
            "element": "dense sea fog",
            "orientation": "",
            "state": "thick, cold, obscuring visibility"
          },
          {
            "camera_use": "Vanishing line where harbor disappears into haze.",
            "directionality_class": "non_directional",
            "element": "fog-covered waterline",
            "orientation": "",
            "state": "barely visible, still"
          },
          {
            "camera_use": "Sparse vertical markers that give scale to the empty harbor.",
            "directionality_class": "directional_3d",
            "element": "harbor mooring posts",
            "orientation": "Their wet sides face the camera at slight angles, receding into fog.",
            "state": "dark, damp, unused"
          }
        ],
        "lighting_mood": "The post-rain sunset is muted into blue-grey fog, with only a faint bruised warmth buried behind the haze.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Beside the boat at about 1.25 meters high, the camera locks into a tight side composition slightly below 인우’s eye line. 수리영’s desperate eyes are favored in the lower-left/middle of frame as she looks upward, while 인우’s side profile rises on the right like a rigid vertical barrier beside the gunwale.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "chin lifted tense",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "alive"
          },
          {
            "angle": "profile_left",
            "body_pose": "hand on rope cleat",
            "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": "Inwoo's side profile",
              "label": "수리영",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "인우",
              "screen_zone": "middle_right",
              "target_id": "C03",
              "target_kind": "character"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Hard horizontal edge separating the characters from the sea.",
            "directionality_class": "directional_3d",
            "element": "boat gunwale",
            "orientation": "The side rail faces the camera in partial profile, running between the figures and the fog.",
            "state": "wet, dark, salt-stained"
          },
          {
            "camera_use": "Practical action detail near 인우’s hand, grounding his reluctance in work.",
            "directionality_class": "non_directional",
            "element": "mooring rope",
            "orientation": "",
            "state": "taut, damp"
          },
          {
            "camera_use": "Cold blank background that isolates the confrontation.",
            "directionality_class": "non_directional",
            "element": "foggy harbor water",
            "orientation": "",
            "state": "still, pale, obscured"
          },
          {
            "camera_use": "Low reflected texture beneath the figures.",
            "directionality_class": "non_directional",
            "element": "wet pier edge",
            "orientation": "",
            "state": "slick, dim"
          }
        ],
        "lighting_mood": "Cold fog diffuses the last sunset light into a flat grey-blue, leaving faces underlit by damp reflections from the pier and boat hull.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Low beside the shore rocks, the camera angles down within arm’s reach and frames the phone screen tightly but keeps wet rock visible around it for scale. The illuminated display sits centered and occupies roughly the central forty percent of the frame, with missed-call notifications from 혜수 readable through fine droplets on the glass.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary information surface, presenting the missed-call clue through a device display.",
            "directionality_class": "content_surface",
            "element": "smartphone screen",
            "orientation": "The active glass face is angled up toward the camera, showing 혜수’s missed-call notification text beneath scattered rain droplets.",
            "state": "on, wet, vibrating or recently active"
          },
          {
            "camera_use": "Physical support and scale reference around the device.",
            "directionality_class": "non_directional",
            "element": "shore rock surface",
            "orientation": "",
            "state": "dark, wet, uneven"
          },
          {
            "camera_use": "Soft environmental edge beyond the close-up.",
            "directionality_class": "non_directional",
            "element": "foggy harbor background",
            "orientation": "",
            "state": "blurred, cold, indistinct"
          }
        ],
        "lighting_mood": "The phone’s cool screen light glows against blue-grey dusk, with moisture on the glass catching tiny desaturated highlights.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From 혜수’s front-left at eye level, the dolly-in finishes in an extreme close-up that compresses her face into the frame, with only a narrow sliver of the phone visible at her ear. The ransacked rooftop room remains as blurred, broken geometry behind her, enough to suggest overturned furniture without distracting from her panic.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "phone pressed to ear",
            "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": "혜수",
              "screen_zone": "middle_center",
              "target_id": "C02",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Small edge detail connecting her expression to the recorded message.",
            "directionality_class": "directional_3d",
            "element": "phone at her ear",
            "orientation": "Only the thin side and dark back edge of the phone are visible pressed against her ear, not the screen face.",
            "state": "active, held tight"
          },
          {
            "camera_use": "Blurred background evidence of intrusion.",
            "directionality_class": "directional_3d",
            "element": "overturned chairs in living area",
            "orientation": "Their legs and backs point at irregular angles behind her in soft focus.",
            "state": "fallen, scattered"
          },
          {
            "camera_use": "Restless background sound source implied by the scene’s emptiness.",
            "directionality_class": "directional_3d",
            "element": "front door",
            "orientation": "The inner face is barely visible behind her, set at an angle to the room.",
            "state": "partly open, rattling in wind"
          },
          {
            "camera_use": "Cold negative space around her face.",
            "directionality_class": "non_directional",
            "element": "dim ransacked room darkness",
            "orientation": "",
            "state": "shadowed, cluttered"
          }
        ],
        "lighting_mood": "Low dusk ambience and weak practical spill flatten the room into grey-green shadows, while her face catches a strained, cool highlight.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 27,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At water level off the boat’s port side, the camera holds a static very wide side silhouette from roughly forty meters away, with the horizon low and the vessel suspended in the red evening sea. Deck details are intentionally minimized, leaving the small fishing boat as a dark horizontal shape against open water and empty sky.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary isolated shape, held in clean side profile.",
            "directionality_class": "directional_3d",
            "element": "small fishing boat",
            "orientation": "The port side faces the camera as a dark silhouette, with minimal visible deck structure.",
            "state": "floating, still, isolated"
          },
          {
            "camera_use": "Reflective field carrying the sunset color beneath the boat.",
            "directionality_class": "reflective_surface",
            "element": "red evening sea surface",
            "orientation": "The water reflects the red-orange sky in broken, muted streaks around the hull.",
            "state": "calm, gently rippled"
          },
          {
            "camera_use": "Low graphic line increasing the sense of distance.",
            "directionality_class": "non_directional",
            "element": "low horizon",
            "orientation": "",
            "state": "faint, steady"
          },
          {
            "camera_use": "Atmospheric color source behind the silhouette.",
            "directionality_class": "non_directional",
            "element": "sunset haze",
            "orientation": "",
            "state": "red, desaturated, heavy"
          }
        ],
        "lighting_mood": "A moody red dusk is muted by marine haze, turning the boat nearly black against cold, smoky crimson water.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "On the deck at 인우’s eye level, the camera continues the dolly-in from his front-left and lands in a compressed facial close-up as he registers the photograph. His face fills the center with shallow depth of field; the deck rail and sunset sea smear into soft color behind him, while the implied photo remains just below frame pulling his gaze down.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "recoiling from photograph",
            "character": "인우",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft background line that keeps the scene on the boat without stealing focus.",
            "directionality_class": "directional_3d",
            "element": "deck rail",
            "orientation": "The rail’s side edge runs behind 인우 at a shallow diagonal, its outer face turned partly toward camera.",
            "state": "wet, worn, out of focus"
          },
          {
            "camera_use": "Blurred color field behind his panic.",
            "directionality_class": "reflective_surface",
            "element": "sunset sea beyond deck",
            "orientation": "The water reflects the red dusk as soft, broken highlights behind his head.",
            "state": "moving gently, defocused"
          },
          {
            "camera_use": "Pressure object implied at the lower frame edge.",
            "directionality_class": "content_surface",
            "element": "old photograph edge",
            "orientation": "Only a blurred sliver of the image side is suggested near the lower edge, angled toward 인우 rather than dominating the frame.",
            "state": "creased, partly out of frame"
          },
          {
            "camera_use": "Small practical boat texture around his shoulders.",
            "directionality_class": "directional_3d",
            "element": "deck equipment shadows",
            "orientation": "Dark equipment forms face the camera only as soft side shapes behind him.",
            "state": "dim, indistinct"
          }
        ],
        "lighting_mood": "Low red sunset side-light catches moisture on his skin while the background falls into cold desaturated blur, isolating his sudden fear.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow's locked-off endpoint, the camera sits inside the dark wheelhouse at chest height just behind and slightly beside the helm, looking back toward the doorway as a neutral observer. Suriyoung is centered in the midground with her arms stretched horizontally across Inwoo's chest line, while Inwoo is compressed behind her on the right-center, one hand reaching toward the wheel visible just beyond her shoulder line; the composition feels frozen after a rush of movement.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "arms spread blocking",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "reaching past shoulder",
            "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": "helm wheel edge",
              "screen_zone": "lower_left",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Suriyoung blocking the helm",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "reaches_for",
              "gesture_target_label": "helm wheel",
              "label": "Inwoo behind Suriyoung",
              "screen_zone": "middle_right",
              "target_id": "C03",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Partial foreground anchor beside the lens, making the wheel feel temptingly close but blocked.",
            "directionality_class": "directional_3d",
            "element": "helm wheel",
            "orientation": "The camera catches the side and rear rim from just behind it, with its forward face angled away toward Inwoo.",
            "state": "damp, dark, partially rim-lit"
          },
          {
            "camera_use": "Background exit line behind Inwoo, giving depth and showing where the chase entered.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse doorway",
            "orientation": "The inner doorframe faces the camera, with the open gap behind Inwoo leading to the dim deck.",
            "state": "open, shadowed, salt-stained"
          },
          {
            "camera_use": "Cold environmental backlight, broken by grime and condensation.",
            "directionality_class": "transparent_surface",
            "element": "wheelhouse windows",
            "orientation": "Clouded glass reveals only smeared sunset haze and grey sea beyond.",
            "state": "fogged, wet, mostly dark"
          },
          {
            "camera_use": "Low practical detail under the actors' arms, grounding the steering area.",
            "directionality_class": "content_surface",
            "element": "control panel",
            "orientation": "Its front gauge face is angled toward camera, showing dim unreadable dials and weak indicator lights.",
            "state": "on, grimy, dim"
          }
        ],
        "lighting_mood": "Cold blue-grey coastal dusk leaks through dirty glass while weak amber instrument lights carve thin highlights across wet faces and metal.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 11,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera follows the flow's start position at chest height about six feet in front of the helm, handheld and slightly off-center, watching Suriyoung and Inwoo collide in a tight two-shot. Their locked shoulders and forearms occupy the foreground, with the helm readable between and behind them, so the wheel remains the contested destination rather than a neutral background object.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "shoving into shoulder",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "bracing against shove",
            "character": "인우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Centered background pressure point behind the bodies, still visible between their shoulders.",
            "directionality_class": "directional_3d",
            "element": "helm wheel",
            "orientation": "The front rim and central hub face slightly toward camera, partially obscured by the struggle.",
            "state": "fixed, damp, dimly lit"
          },
          {
            "camera_use": "Claustrophobic side boundaries that trap the two bodies in the frame.",
            "directionality_class": "transparent_surface",
            "element": "salt-streaked wheelhouse windows",
            "orientation": "The dirty glass shows blurred dusk water and haze beyond, with no clean horizon line.",
            "state": "closed, wet, translucent with grime"
          },
          {
            "camera_use": "Low practical glow under the confrontation, adding uneasy realism.",
            "directionality_class": "content_surface",
            "element": "instrument panel",
            "orientation": "The panel face is visible below the helm, its gauges and worn labels turned toward camera.",
            "state": "on, weakly glowing, scratched"
          },
          {
            "camera_use": "Dark enclosure around the actors, tightening the wheelhouse space.",
            "directionality_class": "directional_3d",
            "element": "wood-and-metal wheelhouse walls",
            "orientation": "The side walls angle inward from both edges of frame, their interior faces catching only dull reflections.",
            "state": "damp, aged, shadow-heavy"
          }
        ],
        "lighting_mood": "Desaturated dusk and failing practical bulbs mix into a bruised blue-amber palette, with handheld shadow jitter making the cabin feel airless.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Continuing the flow's reveal, the camera holds just behind and slightly above Inwoo's shoulder at eye level, about two feet away, panning across him toward the inner wall. Inwoo's shoulder is a dark, soft-edged foreground wedge on the left, while the red spiral-like circular marks spread across the wall in sharp focus, overwhelming the background without changing into a subjective hallucination.",
        "character_angles": [
          {
            "angle": "over_shoulder",
            "body_pose": "shoulder held rigid",
            "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": "Primary reveal surface, filling the middle and rear of the frame with occult patterning.",
            "directionality_class": "content_surface",
            "element": "wheelhouse wall covered in red circular spiral marks",
            "orientation": "The interior wall face is turned toward camera, exposing smeared red rings and spiral marks layered over damp paint.",
            "state": "marked, wet-looking, oppressive"
          },
          {
            "camera_use": "Dark foreground mask that makes the wall feel discovered over a human obstacle.",
            "directionality_class": "directional_3d",
            "element": "Inwoo's shoulder edge",
            "orientation": "Only the rear slope of the shoulder and upper back face the camera, cropped close on the left edge.",
            "state": "still, shadowed"
          },
          {
            "camera_use": "Peripheral cabin detail that keeps the reveal grounded in the steering room.",
            "directionality_class": "directional_3d",
            "element": "narrow wheelhouse corner seam",
            "orientation": "The corner line recedes diagonally away from camera, making the marked wall feel cramped and close.",
            "state": "damp, grimy"
          },
          {
            "camera_use": "Faint cold rim light around the wall texture and shoulder silhouette.",
            "directionality_class": "transparent_surface",
            "element": "off-axis wheelhouse glass",
            "orientation": "The glass is mostly outside focus, filtering a grey-blue haze into the cabin rather than showing a clear view.",
            "state": "closed, misted"
          }
        ],
        "lighting_mood": "The wall is lit by sickly, low side spill and cold dusk seepage, letting the red marks appear muted but poisonous against blue-grey shadows.",
        "perception_mode": "direct",
        "perspective": "over_shoulder",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the flow's final close-observation endpoint, the camera is less than two feet from Inwoo at eye level on his front three-quarter side, finishing the dolly-in as a tight close-up. Inwoo's face occupies the center-right as the sharp focal point, while Suriyoung's unconscious weight is only partially visible along his lower-left shoulder edge, enough to press into him without stealing the frame.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "bearing collapsed weight",
            "character": "인우",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "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": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Inwoo cold close-up",
              "screen_zone": "middle_center",
              "target_id": "C03",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Suriyoung collapsed at frame edge",
              "screen_zone": "lower_left",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Blurred occult reminder behind Inwoo's head, kept secondary to his expression.",
            "directionality_class": "content_surface",
            "element": "red-marked wheelhouse wall",
            "orientation": "The marked interior face is turned toward camera but falls out of focus, leaving only soft red circular smears.",
            "state": "visible, blurred, damp"
          },
          {
            "camera_use": "Thin cold rim on Inwoo's cheek and Suriyoung's hairline.",
            "directionality_class": "transparent_surface",
            "element": "wheelhouse side window",
            "orientation": "The misted pane behind them admits grey-blue sea haze without a readable outside view.",
            "state": "closed, fogged, salt-streaked"
          },
          {
            "camera_use": "Low, out-of-focus practical glints beneath the close-up.",
            "directionality_class": "content_surface",
            "element": "instrument lights",
            "orientation": "Tiny gauge faces and indicator points face camera from below frame level, mostly reduced to soft dots.",
            "state": "on, weak, dirty"
          },
          {
            "camera_use": "Tight physical boundary that prevents the close-up from feeling spacious.",
            "directionality_class": "directional_3d",
            "element": "dark cabin wall edge",
            "orientation": "A vertical interior edge sits behind the figures, its side face barely catching light.",
            "state": "shadowed, wet-textured"
          }
        ],
        "lighting_mood": "A cold desaturated wash cuts across Inwoo's eyes while dim amber controls flicker below, making his stillness feel clinical and hostile.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 11,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow's approach position, the camera rides low at the waterline several meters ahead of the fishing boat's bow, tracking backward at the same speed and looking past the bow into the horizon. The bow area remains only a lower-frame presence, while the massive dark fog wall rises through the middle and upper frame like a vertical boundary swallowing the sea ahead.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "dark fog wall",
              "label": "implied fishing boat bow",
              "screen_zone": "lower_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "massive dark fog wall",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary oppressive destination, scaled to dwarf the implied boat.",
            "directionality_class": "non_directional",
            "element": "massive dark fog wall",
            "orientation": "",
            "state": "dense, towering, nearly opaque"
          },
          {
            "camera_use": "Lower-frame movement cue showing the boat's approach without revealing people.",
            "directionality_class": "directional_3d",
            "element": "fishing boat bow area",
            "orientation": "Only the forward upper edge of the bow faces camera from the lower center, angled into the fog.",
            "state": "wet, dark, partially cropped"
          },
          {
            "camera_use": "Low foreground texture and scale reference for the waterline camera.",
            "directionality_class": "non_directional",
            "element": "dark rippling sea surface",
            "orientation": "",
            "state": "choppy, reflective in broken patches"
          },
          {
            "camera_use": "Muted horizon glow trapped behind haze, preventing a warm heroic sunset.",
            "directionality_class": "non_directional",
            "element": "desaturated sunset haze",
            "orientation": "",
            "state": "dim, cold-gold, fading"
          }
        ],
        "lighting_mood": "The sunset is drained into cold gold and blue-grey, with the fog absorbing contrast until the sea and sky feel like one damp surface.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 30,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the flow's withdrawing endpoint, the camera holds a distant wide position behind the boat's path just above water level, dollying out into open negative space. The fishing boat is reduced to a barely readable silhouette near the center of the fog, while the empty sea expands around it and the mist erases the boundary between water and sky.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Faint vanishing subject, kept small to emphasize disappearance rather than action.",
            "directionality_class": "directional_3d",
            "element": "small fishing boat silhouette",
            "orientation": "The rear and side mass of the boat face camera only as a soft dark shape inside the haze.",
            "state": "distant, nearly swallowed, indistinct"
          },
          {
            "camera_use": "Dominant atmospheric field that consumes most of the image.",
            "directionality_class": "non_directional",
            "element": "thick sea fog",
            "orientation": "",
            "state": "dense, expanding, low-contrast"
          },
          {
            "camera_use": "Large negative space below the silhouette, making the scene feel abandoned.",
            "directionality_class": "non_directional",
            "element": "empty dark sea",
            "orientation": "",
            "state": "quiet, rippled, desaturated"
          },
          {
            "camera_use": "Barely present end-of-day glow diffused through mist.",
            "directionality_class": "non_directional",
            "element": "fading dusk sky",
            "orientation": "",
            "state": "dim, color-drained, horizonless"
          }
        ],
        "lighting_mood": "A cold coastal haze flattens the palette into blue-grey and tarnished gold, leaving only a weak silhouette and damp silence.",
        "perception_mode": "direct",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 30,
        "shot_index": 4,
        "subject_reference_policy": []
      }
    ],
    "total": 56,
    "failed_batches": 0
  },
  "step_id": "shot_staging",
  "run_id": "a23fbfd6-3960-4e14-a79d-0165149777f4",
  "resolved_model": "gpt",
  "updated_at": "2026-06-29T10:21:09.165469+00:00",
  "schema_version": 6,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}