{
  "status": "completed",
  "completed_count": 58,
  "applicable_count": 58,
  "failed_count": 0,
  "data": {
    "shots": [
      {
        "camera_direction": "The camera inherits the end of the close_observation flow: chest-to-face height directly in front of the fleeing 한국인 남성, backing away in a tight retreat as his dirt-smeared face occupies the central 75% of frame. It is a direct, near-frontal close shot with slight handheld tremor; the forest is reduced to wet blue-gray blur at the edges, while the widened eyes lock past the lens just before the whip toward danger.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "frozen mid-run",
            "character": "한국인 남성",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "한국인 남성 terrified face",
              "screen_zone": "middle_center",
              "target_id": "C06",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "soft peripheral texture behind the face, barely readable through motion blur",
            "directionality_class": "non_directional",
            "element": "dark forest undergrowth",
            "orientation": "",
            "state": "wet, dim, smeared by motion"
          },
          {
            "camera_use": "thin mist catches the last dusk light around the face edges",
            "directionality_class": "non_directional",
            "element": "low forest mist",
            "orientation": "",
            "state": "dense and damp"
          }
        ],
        "lighting_mood": "Low-key dusk light in muted blue-gray wraps the muddy face, with tiny red-brown accents in the wounds kept subdued rather than graphic.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The shot completes the attack_reveal pan from the man’s widened gaze, stopping slightly below eye level and angled upward into the dim tree line. 검은 인영 hangs in the upper middle of the frame with both feet off the ground, lunging diagonally toward the lower-right edge where 한국인 남성 is partially caught as a recoiling shoulder and cheek, preserving the same frantic motion but shifting emphasis to the attacker’s position.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "airborne lunge",
            "character": "검은 인영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C06",
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "staggering backward",
            "character": "한국인 남성",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C12",
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "한국인 남성 below frame right",
              "label": "검은 인영 airborne attacker",
              "screen_zone": "upper_center",
              "target_id": "C12",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "한국인 남성 recoiling edge",
              "screen_zone": "lower_right",
              "target_id": "C06",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "backdrop that separates the airborne silhouette from the woods",
            "directionality_class": "directional_3d",
            "element": "dark tree trunks",
            "orientation": "vertical trunks face the camera as layered side planes, creating narrow black bars behind the figure",
            "state": "wet and nearly black"
          },
          {
            "camera_use": "haze layer that outlines the leap against the background",
            "directionality_class": "non_directional",
            "element": "dusk forest fog",
            "orientation": "",
            "state": "thick, blue-gray, drifting"
          }
        ],
        "lighting_mood": "A cold dusk backwash silhouettes the attacker, with only a faint rim of gray-blue light and a restrained rusty-red glint near the injured man.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 3,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "검은 인영 is meant to read as an unreadable occult silhouette rather than an identifiable person; a generic dark figure descriptor preserves the reveal.",
            "subject_id": "C12"
          }
        ]
      },
      {
        "camera_direction": "From the establishing start of the alley flow, the camera sits low at waist height at the foggy alley mouth, looking straight down a long, damp corridor toward a utility pole about 12 meters away. 한국인 남성 and 한국인 여성 are held as compressed dark silhouettes beneath the streetlight bloom in the middle distance, their bodies pressed together while the surrounding mist and wet pavement occupy most of the frame.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "pinning against pole",
            "character": "한국인 남성",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C09",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "arched against pole",
            "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": "main background anchor and silhouette marker behind the couple",
            "directionality_class": "directional_3d",
            "element": "utility pole",
            "orientation": "the pole’s front curve faces camera, rising behind the figures as a dark vertical spine",
            "state": "old, damp, stained"
          },
          {
            "camera_use": "backlight source blooming through fog",
            "directionality_class": "directional_3d",
            "element": "streetlight head",
            "orientation": "lamp face points downward toward the couple and slightly toward camera, causing flare in the mist",
            "state": "on, dim yellow-white"
          },
          {
            "camera_use": "reflects alley light and lengthens the silhouettes",
            "directionality_class": "reflective_surface",
            "element": "wet alley pavement",
            "orientation": "the pavement reflects the streetlight bloom and the couple’s dark legs in broken, shallow streaks",
            "state": "slick, dirty, rain-darkened"
          },
          {
            "camera_use": "dominates negative space and hides detail before the approach",
            "directionality_class": "non_directional",
            "element": "dense alley fog",
            "orientation": "",
            "state": "thick, blue-gray, glowing around the lamp"
          }
        ],
        "lighting_mood": "Sodium streetlight diffuses into damp blue-gray fog, with the couple nearly black and a faint dirty-gold halo around the pole.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the mid close_observation point, the camera is less than half a meter from the couple at neck height, angled from 한국인 여성’s side so her head slackens backward through the upper right of frame. The composition is a visceral close-up of 한국인 남성’s mouth and her neck, but the bite is staged with shadow, damp skin texture, and a sharp red accent rather than graphic gore.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "jaw pressed forward",
            "character": "한국인 남성",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "head falling back",
            "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": "soft vertical blur behind the neck, confirming the alley location without distracting",
            "directionality_class": "directional_3d",
            "element": "utility pole edge",
            "orientation": "only a wet side edge of the pole faces camera behind the subjects",
            "state": "dark, damp, out of focus"
          },
          {
            "camera_use": "creates shallow highlights on skin and breath vapor",
            "directionality_class": "non_directional",
            "element": "cold alley mist",
            "orientation": "",
            "state": "thin at close range, drifting through the light"
          },
          {
            "camera_use": "small blurred gold source in background corner",
            "directionality_class": "directional_3d",
            "element": "streetlight spill",
            "orientation": "light falls from above-left onto the side of the woman’s neck",
            "state": "on, diffused"
          }
        ],
        "lighting_mood": "Low-key blue-gray shadow is cut by a sickly gold streetlight edge and a narrow red accent at the bite point, restrained and uncanny.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera follows the close_observation end stage among detectives in the fog, slightly below eye level and pushing in to a medium-close upper-body frame of 혜수. Soft shoulders and dark coats of other investigators blur across the left and right foreground, while 혜수 stays centered, leaning into command with her eyes fixed sharply ahead rather than addressing the lens.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "leaning into command",
            "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": "crime scene activity ahead of her",
              "label": "혜수 commanding focus",
              "screen_zone": "middle_center",
              "target_id": "C02",
              "target_kind": "character"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "soft foreground layers that frame 혜수’s face without revealing clear identities",
            "directionality_class": "directional_3d",
            "element": "detectives’ dark coats and shoulders",
            "orientation": "blurred shoulder edges face camera from both sides, forming a narrow corridor toward 혜수",
            "state": "damp, dark, moving slightly"
          },
          {
            "camera_use": "background crime-scene boundary visible through haze",
            "directionality_class": "content_surface",
            "element": "police line tape",
            "orientation": "the printed warning side faces camera in broken yellow strips behind 혜수",
            "state": "stretched, wet, partially obscured"
          },
          {
            "camera_use": "broadcast texture overlay for the news-footage feel",
            "directionality_class": "content_surface",
            "element": "news screen image layer",
            "orientation": "the visible face of the image carries faint scanline-like broadcast texture over the crime scene",
            "state": "slightly compressed, cool-toned"
          }
        ],
        "lighting_mood": "Fog-soft daylight is graded cold blue-gray, with muted yellow police tape and small red evidence markers cutting through the damp field palette.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 3,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera begins very high above an outer-city residential district at dusk, looking steeply downward in a wide bird’s-eye view. Several aging low-rise villas and narrow lanes remain visible, while the worn rooftop room sits slightly off center as the crane begins its slow descent, gathering neighborhood unease toward that one roof.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "primary spatial destination within the wider neighborhood grid",
            "directionality_class": "directional_3d",
            "element": "worn rooftop room",
            "orientation": "its patched roof and front wall angle are visible from above, making it identifiable but not isolated",
            "state": "old, weather-stained, dim"
          },
          {
            "camera_use": "surrounding context that makes the rooftop room feel trapped in a dense district",
            "directionality_class": "directional_3d",
            "element": "aging low-rise villa buildings",
            "orientation": "flat roofs and upper façades face the steep overhead camera at mixed angles",
            "state": "worn concrete, damp, muted"
          },
          {
            "camera_use": "dark channels between buildings guiding the eye inward",
            "directionality_class": "directional_3d",
            "element": "narrow residential streets",
            "orientation": "street surfaces recede diagonally under the bird’s-eye view",
            "state": "quiet, shadowed, slightly wet"
          },
          {
            "camera_use": "sets ominous atmosphere across the whole frame",
            "directionality_class": "non_directional",
            "element": "evening haze",
            "orientation": "",
            "state": "thin, blue-gray, settling over rooftops"
          }
        ],
        "lighting_mood": "Dim dusk washes the district in cold blue-gray shadow, with a few weak amber window lights puncturing the gloom like ritual embers.",
        "perception_mode": "direct",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 4,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the rooftop room, the camera inherits the living-area close_observation flow from slightly below eye level, angled between the TV monitor and 민숙’s face. The frame tightens to a close portrait: her serious face occupies the right-center, the TV glow skims her cheek from the left, and the rest of the room falls into shallow, damp domestic blur.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning toward TV",
            "character": "민숙",
            "gaze_direction_kind": "looks_at_object",
            "gaze_target_id": "B01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "off-frame light source whose glow defines 민숙’s face contour",
            "directionality_class": "content_surface",
            "element": "TV monitor",
            "orientation": "the active screen face is angled toward 민숙 and partly toward camera, carrying unseen news light rather than readable image detail",
            "state": "on, flickering, cool"
          },
          {
            "camera_use": "domestic background texture behind her shoulder",
            "directionality_class": "transparent_surface",
            "element": "small living-room window",
            "orientation": "thin daylight leaks through the glass; the outside is indistinct beyond condensation and grime",
            "state": "closed, slightly dirty"
          },
          {
            "camera_use": "soft steam haze drifting from the kitchen into the living area",
            "directionality_class": "non_directional",
            "element": "boiling pot steam",
            "orientation": "",
            "state": "thin, warm, wavering in the air"
          }
        ],
        "lighting_mood": "Cold TV blue carves 민숙’s worried face against the dim room, with faint gray daylight and muted gold kitchen warmth barely surviving in the shadows.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Near the doorway at shoulder height, the handheld camera stays close on the side profiles of 수리영 and 민숙, preserving the intimate_departure mid-flow. 수리영 leans in from frame left with her nose almost touching 민숙’s shoulder at frame center, while 민숙 remains slightly turned away with restrained warmth, the cramped entryway compressing them into a quiet domestic closeness.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "leaning to smell",
            "character": "수리영",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "shoulder held still",
            "character": "민숙",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "reaches_for",
              "gesture_target_label": "민숙 shoulder",
              "label": "수리영 leaning close",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "민숙 shoulder and profile",
              "screen_zone": "middle_center",
              "target_id": "C04",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "tight entryway frame behind the two bodies",
            "directionality_class": "directional_3d",
            "element": "doorway frame",
            "orientation": "the inner side of the doorframe faces camera, bracketing the pair vertically",
            "state": "open, scuffed"
          },
          {
            "camera_use": "low domestic anchor in the lower edge near 수리영’s departure",
            "directionality_class": "directional_3d",
            "element": "shoe area by entrance",
            "orientation": "top surfaces of shoes and threshold are seen obliquely below the characters",
            "state": "cluttered but ordinary"
          },
          {
            "camera_use": "soft background warmth from the lived-in room",
            "directionality_class": "transparent_surface",
            "element": "small window light spill",
            "orientation": "diffused light passes through the closed window behind them, softened by dusty glass",
            "state": "closed, pale, hazy"
          }
        ],
        "lighting_mood": "Natural window light and kitchen steam are muted into blue-gray softness, with a faint warm-gold edge on their shoulders to keep the moment tender but uneasy.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 11,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera completes the reveal tilt from 민숙’s shoulder down to her wrist, settling just below chest level in a tight detail view from 수리영’s side of the doorway. The small circle-shaped mark on the wrist is the sharp focal point in the center-left of frame, while skin, sleeve edge, and entryway shadow remain minimal and softly compressed around it.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "wrist relaxed downward",
            "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": "dark negative space behind the wrist to isolate the mark",
            "directionality_class": "directional_3d",
            "element": "entryway wall shadow",
            "orientation": "the flat side wall recedes behind the wrist at a shallow angle",
            "state": "dim, scuffed, blue-gray"
          },
          {
            "camera_use": "thin fabric edge giving scale to the wrist and mark",
            "directionality_class": "directional_3d",
            "element": "민숙’s sleeve cuff",
            "orientation": "the cuff edge faces camera diagonally, framing the wrist without covering the mark",
            "state": "soft, slightly worn"
          },
          {
            "camera_use": "tiny occult visual focal point on skin",
            "directionality_class": "content_surface",
            "element": "circle-shaped wrist mark",
            "orientation": "the marked skin surface faces camera directly enough to show a small, unusually clear circle",
            "state": "sharp, dark, more distinct than usual"
          }
        ],
        "lighting_mood": "A narrow cool daylight edge reveals the wrist mark, while surrounding shadows fall into damp blue-gray with a faint ominous red-brown undertone in the skin texture.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 12,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The frame isolates 민숙’s wrist and mark rather than her full face or outfit; base identity is enough and an outlook reference could overconstrain the insert.",
            "subject_id": "C04"
          }
        ]
      },
      {
        "camera_direction": "The tracking camera rides about 1.5 meters in front of 수리영 at upper-torso height, slightly off the bicycle’s front-left, matching her speed along the coastal road. The frame is a medium moving shot with both hands on the handlebars in the lower third, her upper body centered, and deliberate space behind her wind-blown hair so the road’s deep blue strip and sea air remain visible.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "gripping bicycle handlebars",
            "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": "camera along coastal road",
              "label": "수리영 riding forward",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "visible strip beneath and behind the bicycle to preserve forward motion",
            "directionality_class": "directional_3d",
            "element": "deep blue coastal road",
            "orientation": "the road surface runs from lower frame toward the horizon behind 수리영",
            "state": "dry, cool-toned, open"
          },
          {
            "camera_use": "lateral environmental cue and source of wind atmosphere",
            "directionality_class": "non_directional",
            "element": "coastal air and sea haze",
            "orientation": "",
            "state": "fresh, blue, slightly misted"
          },
          {
            "camera_use": "foreground motion reference at the lower frame",
            "directionality_class": "directional_3d",
            "element": "bicycle handlebars",
            "orientation": "the curved front side faces camera, held evenly by both of 수리영’s hands",
            "state": "steady, moving forward"
          }
        ],
        "lighting_mood": "Bright coastal daylight is graded into cool blue-gray freshness, with soft gold highlights on hair and skin and no harsh horror contrast yet.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 6,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At Suriyoung's eye level from the corridor side, the camera holds completely still in a tight close frame, with damp cage bars cutting vertical black lines across the near foreground and her face set about two feet beyond them. The composition is an observer's direct view, not her POV; Suriyoung sits slightly right of center in shallow focus, her blank stare aimed past the bars toward the kennel interior.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "chin slightly lowered",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C14",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "near-foreground obstruction compressing her face into a trapped, ritual-like grid",
            "directionality_class": "directional_3d",
            "element": "kennel cage bars",
            "orientation": "the vertical front bars face the camera and slice across the frame between lens and face",
            "state": "locked, damp, darkened with grime"
          },
          {
            "camera_use": "soft background threat beyond her eyeline",
            "directionality_class": "directional_3d",
            "element": "kennel interior",
            "orientation": "the cage opening faces the corridor, with the darker animal space receding behind the bars",
            "state": "shadowed, wet-floored, tense"
          },
          {
            "camera_use": "texture under the blue-gray horror palette",
            "directionality_class": "non_directional",
            "element": "concrete corridor wall",
            "orientation": "",
            "state": "stained, humid, cold"
          }
        ],
        "lighting_mood": "Low-key daylight leaks through the shelter in muted blue-gray tones, with faint rust-red stains and dull metal highlights sharpening the occult-horror pressure.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Chest-to-eye height in the kennel corridor, about four feet in front of Suriyoung, the camera stays locked in a slightly tighter centered medium frame than the wider corridor setup. Her phone hand occupies the upper side of her body while rows of caged dogs recede behind her on both sides, turning the unanswered call into the only still point in the damp corridor.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "phone pressed to ear",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "receding perspective lines behind Suriyoung",
            "directionality_class": "directional_3d",
            "element": "row of kennel cages",
            "orientation": "the cage fronts angle away from camera along the corridor, their doors and bars visible in diminishing perspective",
            "state": "closed, damp, dim"
          },
          {
            "camera_use": "background depth and anxious negative space",
            "directionality_class": "directional_3d",
            "element": "kennel corridor",
            "orientation": "the corridor stretches away behind her, its side walls and cage fronts forming a narrowing tunnel",
            "state": "wet, shadowy, quieting after barking"
          },
          {
            "camera_use": "small practical action prop held near her face",
            "directionality_class": "directional_3d",
            "element": "mobile phone",
            "orientation": "the phone's side edge and dark screen are turned partly away as it is pressed to her ear",
            "state": "active call, unanswered"
          }
        ],
        "lighting_mood": "Cold kennel light pools unevenly on her face, with blue-gray shadows and small red-brown rust accents in the cage hardware.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Shoulder-height at the side of the aisle, roughly two meters away, the camera holds a clean perpendicular side two-shot of Suriyoung and the middle-aged female market employee facing each other. Product shelves remain steady as horizontal layers behind them, while the frame tightens just enough to make their profile exchange feel boxed in by fluorescent retail order.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "leaning toward employee",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C16",
            "subject_state": "alive"
          },
          {
            "angle": "profile_left",
            "body_pose": "hand resting on 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": "rigid aisle frame behind both profiles",
            "directionality_class": "content_surface",
            "element": "market product shelves",
            "orientation": "front-facing product labels and price tags are visible to camera in stacked bands behind the characters",
            "state": "fully stocked, orderly, slightly harsh under fluorescent light"
          },
          {
            "camera_use": "overhead practical light source shaping the mundane unease",
            "directionality_class": "directional_3d",
            "element": "fluorescent ceiling strips",
            "orientation": "the long fixtures run lengthwise down the aisle, their underside facing the camera",
            "state": "on, cold, faintly flickering"
          },
          {
            "camera_use": "narrow depth cue between the two characters",
            "directionality_class": "directional_3d",
            "element": "supermarket aisle floor",
            "orientation": "the aisle plane runs left-to-right across the frame beneath their feet",
            "state": "clean but dull, reflecting a weak green-blue cast"
          }
        ],
        "lighting_mood": "Sickly fluorescent light flattens the market into blue-gray realism, with small red and gold package accents cutting through the dusk-toned palette.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Eye-level about 0.8 meters from Suriyoung near the aisle edge, the camera has already landed and now holds still on a close front three-quarter view of her widened eyes. She sits slightly off-center against a blurred wall of products, with the unseen male employee's line pulling her gaze just outside the frame rather than into the lens.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "shoulders pulled back",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C07",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "soft contextual blur behind her confused expression",
            "directionality_class": "content_surface",
            "element": "product shelf labels",
            "orientation": "the label faces are turned toward camera but rendered out of focus, becoming colored bands rather than readable text",
            "state": "stocked, bright, visually noisy"
          },
          {
            "camera_use": "thin aisle-edge separator at frame side",
            "directionality_class": "directional_3d",
            "element": "shelf endcap",
            "orientation": "the narrow side face of the shelf end points toward camera along the frame edge",
            "state": "static, crowded with goods"
          },
          {
            "camera_use": "overhead source creating hard retail shadows under her eyes",
            "directionality_class": "directional_3d",
            "element": "fluorescent aisle light",
            "orientation": "the underside of the fixture hangs above and slightly behind the camera line",
            "state": "on, cold"
          }
        ],
        "lighting_mood": "A cold fluorescent wash leaves her skin pale against muted blue-gray shadows, while blurred red-gold packaging flickers like warning marks behind her.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From a low three-quarter front-side tracking position at about waist height, the camera runs parallel with Suriyoung's bicycle two to three meters away, keeping her body a strong dark silhouette against the coastal fog. The frame favors the mid-action downward pedal stroke: her bent knee and forward lean sit in the center while the road and guardrail smear laterally through mist.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "pressing pedal downward",
            "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": "foggy coastal road ahead",
              "label": "수리영 on bicycle",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "foggy coastal road ahead",
              "screen_zone": "upper_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "vanishing route swallowed by darkness",
            "directionality_class": "directional_3d",
            "element": "coastal road",
            "orientation": "the road plane angles from lower left toward the upper right darkness, guiding the bicycle's movement",
            "state": "wet, empty, dim"
          },
          {
            "camera_use": "silhouette backdrop and atmosphere",
            "directionality_class": "non_directional",
            "element": "dense sea fog",
            "orientation": "",
            "state": "thick, drifting, blue-gray"
          },
          {
            "camera_use": "lateral speed reference beside the bicycle",
            "directionality_class": "directional_3d",
            "element": "roadside guardrail",
            "orientation": "the rail's long side runs parallel to camera movement, receding into fog",
            "state": "dark, damp, intermittently catching pale light"
          }
        ],
        "lighting_mood": "The scene is underexposed into blue-gray coastal darkness, with only thin road glints and distant sodium-gold haze outlining her silhouette.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 9,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At hand height just outside the rooftop room, the lens sits extremely close and nearly parallel to the metal door seam, frozen at the exact pause after the paper flyer has been pushed inward. Only the man's fingers, the compressed flyer edge, and a sliver of dark threshold share the insert frame, making the pressure of the hand feel surgical and illicit.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "finger 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 mechanical focal point of intrusion",
            "directionality_class": "directional_3d",
            "element": "metal door seam",
            "orientation": "the narrow side edge of the door and jamb run almost parallel to the lens, exposing only a dark vertical gap",
            "state": "closed but flexing, lock under pressure"
          },
          {
            "camera_use": "thin tool wedged into the gap",
            "directionality_class": "content_surface",
            "element": "paper advertising flyer",
            "orientation": "a torn printed face is partly visible where the flyer bends into the door gap, its text distorted by pressure",
            "state": "creased, jammed, dirty"
          },
          {
            "camera_use": "dark negative space beyond the entry",
            "directionality_class": "directional_3d",
            "element": "threshold shadow",
            "orientation": "the interior side of the doorway opens as a narrow black slit beyond the door edge",
            "state": "unlit, still"
          }
        ],
        "lighting_mood": "Hard blue rooftop night grazes the metal edge while a dull amber spill catches the fingertip and stained paper, keeping the rest in damp shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 4,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The shot shows only the intruder's fingers and hand action at the door seam; a full outlook reference would not align with the visible subject.",
            "subject_id": "C06"
          }
        ]
      },
      {
        "camera_direction": "Outside the rooftop room several feet from the blue-tinted window, the camera holds static slightly below eye level and angles upward so the glass becomes the main plane of the frame without exceeding natural scale. Two enlarged shadow silhouettes flatten across it: the larger form presses down from the upper side while the smaller form is trapped lower in the blue pane, with the surrounding rooftop underexposed to near-black.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "looming over body",
            "character": "거대한 형체",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "pinned beneath shadow",
            "character": "다른 형체",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "dominant surface carrying the shadow reveal",
            "directionality_class": "transparent_surface",
            "element": "blue-tinted rooftop window",
            "orientation": "the blue glass surface faces camera at a slight upward angle, with interior backlight flattening two shadow silhouettes against it",
            "state": "closed, grimy, glowing faint blue"
          },
          {
            "camera_use": "dark border isolating the window image",
            "directionality_class": "directional_3d",
            "element": "rooftop room exterior wall",
            "orientation": "the wall plane surrounds the window and faces camera obliquely from below",
            "state": "underexposed, damp, rough"
          },
          {
            "camera_use": "faint environmental motion at frame edge",
            "directionality_class": "non_directional",
            "element": "night rooftop mist",
            "orientation": "",
            "state": "thin, drifting, cold"
          }
        ],
        "lighting_mood": "A cold blue interior glow turns the window into a shadow screen, while the rooftop falls into muted black with only faint wet highlights.",
        "perception_mode": "projection",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 6,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The subject appears only as an enlarged shadow silhouette on glass, so a generic form descriptor is more accurate than identity/outlook detail.",
            "subject_id": "C18"
          },
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The second subject is perceived only as a flattened shadow shape under pressure; outlook-specific reference would overdefine what the shot should obscure.",
            "subject_id": "C19"
          }
        ]
      },
      {
        "camera_direction": "In the dark apartment courtyard, the camera is locked at chest height about twelve feet in front of Suriyoung, wide enough to include her full body, the bicycle beside her, and the stairs rising behind. She is held low in the frame with the staircase climbing into the upper background, creating a clear upward pull before the later handheld ascent.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "one hand on bicycle",
            "character": "수리영",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "rooftop stairs",
              "label": "수리영",
              "screen_zone": "lower_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "rooftop stairs",
              "screen_zone": "upper_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "main upward visual path behind her",
            "directionality_class": "directional_3d",
            "element": "rooftop stairs",
            "orientation": "the stair run angles upward from the courtyard toward the upper right of frame, its side and treads visible",
            "state": "dark, damp, empty"
          },
          {
            "camera_use": "physical sign of her rushed arrival",
            "directionality_class": "directional_3d",
            "element": "bicycle",
            "orientation": "the bicycle's side faces camera beside her, handlebars slightly turned toward the courtyard",
            "state": "hastily stopped, wet tires"
          },
          {
            "camera_use": "enclosing darkness around the figure",
            "directionality_class": "directional_3d",
            "element": "apartment courtyard walls",
            "orientation": "the wall planes face inward around the courtyard, boxing the frame",
            "state": "stained, dim, blue-gray"
          }
        ],
        "lighting_mood": "Sparse courtyard light carves her and the bicycle in blue-gray shadow, with a weak gold spill from an unseen stair bulb hinting upward.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "On the rooftop landing, the camera dollies in from three to four feet away at face height, angled from Suriyoung's front-left side. The half-open metal door is kept mostly implied by her eyeline, with only a soft dark edge at frame side, so the shot concentrates on her tightened mouth and fixed stare rather than showing the threat directly.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "neck craned forward",
            "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": "blurred threat cue at the edge of frame",
            "directionality_class": "directional_3d",
            "element": "half-open metal entrance door edge",
            "orientation": "only the side edge of the door is barely visible near the frame edge, angled away into darkness",
            "state": "partly open, unlit beyond"
          },
          {
            "camera_use": "tight rooftop landing enclosure around her face",
            "directionality_class": "directional_3d",
            "element": "landing wall",
            "orientation": "the wall plane sits behind her at a shallow angle, compressing the space",
            "state": "damp, stained, blue-gray"
          },
          {
            "camera_use": "atmospheric texture around her breath and fear",
            "directionality_class": "non_directional",
            "element": "faint rooftop mist",
            "orientation": "",
            "state": "thin, cold, barely moving"
          }
        ],
        "lighting_mood": "A low-key blue-gray wash leaves her eyes shadowed, with a thin sickly gold rim from the doorway tracing the side of her face.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From low seated eye level directly in front of the curtain area, about six feet away, the camera begins the reveal but holds a beat longer on Minsuk's body as a front-facing tableau. The frame keeps her seated form centered behind the parted curtain, with the blood-marked floor leading toward her but the composition restrained and still rather than graphic.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "seated head fallen",
            "character": "민숙",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "민숙 seated body",
              "screen_zone": "middle_center",
              "target_id": "C04",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "parted curtain behind body",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "reveal frame around the seated body",
            "directionality_class": "non_directional",
            "element": "parted curtain",
            "orientation": "",
            "state": "pulled aside, stained, hanging still"
          },
          {
            "camera_use": "foreground line drawing the eye toward the body",
            "directionality_class": "non_directional",
            "element": "blood-marked floor",
            "orientation": "",
            "state": "wet in places, dark red against the room's cold floor"
          },
          {
            "camera_use": "dim domestic context turned uncanny",
            "directionality_class": "directional_3d",
            "element": "bedside wall and corner",
            "orientation": "the wall planes meet behind the curtain area, enclosing the body in a shallow corner",
            "state": "dim, stained, blue-gray"
          }
        ],
        "lighting_mood": "A weak room lamp and spill from the living room create low-key blue-gray darkness, with restrained red blood accents and a faint tarnished-gold edge on the curtain folds.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow’s very low close-observation position beside 민숙’s hand, the camera tightens to an extreme floor-level insert angled slightly downward, with the crumpled photograph held in the central third and her rigid fingers forming a cold frame around it. The lens stays inches from the hand, using shallow focus so the photo’s creased surface is sharp while the damp bedding and corpse context fall into blue-gray blur.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "stiff hand clenched",
            "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 focal object gripped by the corpse hand; its creases catch the light and conceal part of the image.",
            "directionality_class": "content_surface",
            "element": "crumpled photograph",
            "orientation": "The photo’s image-bearing face is partly turned toward the camera, but folds and shadow hide most of its content.",
            "state": "creased, damp-looking, trapped in stiff fingers"
          },
          {
            "camera_use": "Soft background anchor behind the hand, keeping the room physically present without pulling focus.",
            "directionality_class": "non_directional",
            "element": "damp bedding or floor textile near the corpse",
            "orientation": "",
            "state": "dark, rumpled, moisture-stained"
          }
        ],
        "lighting_mood": "Low-key blue-gray room darkness is cut by a faint dirty gold spill on the paper and a suppressed red undertone near the hand.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 13,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only 민숙’s corpse hand is framed; a full outlook reference would not align with the visible body detail.",
            "subject_id": "C04"
          }
        ]
      },
      {
        "camera_direction": "At shoulder height from the foot side of the bed, the camera is squared flat to the wall surface and held completely still, inheriting the supernatural reveal stage but removing all motion. The large red circle sits dead center above the bed, with the bed edge low in frame as a scale reference and the wall kept unnervingly perpendicular to the lens.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "The fixed focal surface; its flatness makes the circle feel deliberate rather than accidental.",
            "directionality_class": "content_surface",
            "element": "bedroom wall above the bed",
            "orientation": "The wall face is square to camera, showing the red circle painted across its visible front surface.",
            "state": "pale, damp, marked by a fresh red circle"
          },
          {
            "camera_use": "Low frame anchor beneath the symbol, grounding the mark in the room layout.",
            "directionality_class": "directional_3d",
            "element": "bed beneath the wall",
            "orientation": "The foot-side edge faces the camera, with the mattress receding toward the marked wall.",
            "state": "still, dim, unnaturally tidy around the horror"
          }
        ],
        "lighting_mood": "Cold blue-gray shadow flattens the room while the red circle carries the only saturated color, as if wet pigment is absorbing the light.",
        "perception_mode": "hallucination",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 16,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the bottom of the stairs in the villa courtyard, the camera holds a chest-height wide frame with the police car in the foreground and the stairwell behind it, following the flow’s courtyard alarm stage before redirecting toward 수리영. The red siren bar and wet car roof occupy the lower foreground without overwhelming the frame, while the courtyard walls and stair mouth open behind in misty depth.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "police car with flashing siren",
              "screen_zone": "lower_left",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "rooftop stairwell entrance",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Foreground alarm source throwing red pulses across the courtyard.",
            "directionality_class": "directional_3d",
            "element": "police car",
            "orientation": "The front-left side faces the camera, with the roof siren visible at a shallow angle.",
            "state": "parked, wet, siren flashing red"
          },
          {
            "camera_use": "Background escape route connecting back to the rooftop room.",
            "directionality_class": "directional_3d",
            "element": "stairwell under the rooftop stairs",
            "orientation": "The stair opening faces camera from behind the car, receding upward into darkness.",
            "state": "open, damp, partially swallowed by mist"
          },
          {
            "camera_use": "Atmospheric surface catching the siren reflection and establishing the exterior night.",
            "directionality_class": "non_directional",
            "element": "wet courtyard ground",
            "orientation": "",
            "state": "slick, dark, reflecting red light"
          }
        ],
        "lighting_mood": "Strobing red police light cuts through dense blue-gray courtyard darkness, creating hard wet reflections and brief gold highlights on metal edges.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Close beside 혜수 at upper-body height, the camera stays about one meter from 수리영 and angles slightly downward from 혜수’s position, preserving the flow’s intimate close-observation axis. 수리영’s tearful torso fills the center-right, while a blurred edge of 혜수’s shoulder enters the left foreground to make 수리영’s upward gaze emotionally legible.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "shoulders curled inward",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "leaning toward Suri-young",
            "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": "Blurred emergency color wash across faces and clothing.",
            "directionality_class": "non_directional",
            "element": "police siren spill in courtyard",
            "orientation": "",
            "state": "flashing red, intermittent"
          },
          {
            "camera_use": "Dark rear plane that isolates the two women from the courtyard chaos.",
            "directionality_class": "directional_3d",
            "element": "villa exterior wall and stair shadow",
            "orientation": "The wall runs diagonally behind 수리영, with the stair darkness falling off to one side.",
            "state": "wet, dim, blue-gray"
          }
        ],
        "lighting_mood": "Red siren pulses rhythmically over cold night fill, catching 수리영’s wet eyes while 혜수 remains partly in protective shadow.",
        "perception_mode": "direct",
        "perspective": "over_shoulder",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the bedroom doorway at eye level, the camera inherits the room-reveal dolly-in but holds the wide composition longer, about three meters back, so the bed, floor, curtain area, and wall are all visible at once. The absence becomes the subject: no blood on the floor, no body behind the curtain, and no red circle above the bed, with the overly ordered surfaces arranged too neatly across the frame.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Main spatial proof of the vanished crime scene; the camera scans it as an empty field.",
            "directionality_class": "directional_3d",
            "element": "bed",
            "orientation": "The side of the bed faces camera from the doorway, with the wall above it clearly visible.",
            "state": "made, clean, undisturbed"
          },
          {
            "camera_use": "Former hiding place now exposed as empty.",
            "directionality_class": "transparent_surface",
            "element": "curtain area",
            "orientation": "The curtain hangs partly open, showing the clean space behind it rather than concealing a body.",
            "state": "still, tidy, no blood visible"
          },
          {
            "camera_use": "Negative evidence surface where the earlier blood trail should have been.",
            "directionality_class": "non_directional",
            "element": "bedroom floor",
            "orientation": "",
            "state": "spotless, dry, unnaturally clean"
          },
          {
            "camera_use": "Surface where the red circle had appeared; now a blank contradiction.",
            "directionality_class": "content_surface",
            "element": "wall above bed",
            "orientation": "The visible wall face is bare, with no red mark or writing on its front surface.",
            "state": "clean, pale, unmarked"
          }
        ],
        "lighting_mood": "Flat, cold blue-gray room light replaces the earlier red horror, making the cleanliness feel sterile and accusatory.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the bedroom at chest-to-eye height, the camera tightens slightly from the flow’s close-observation end position into 수리영’s pale upper body at a three-quarter frontal angle. Her face and shoulders occupy the central frame, while the clean room remains soft behind her, turning the changed axis from missing evidence to her stunned reaction.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "frozen mid-breath",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft contextual contradiction behind her face.",
            "directionality_class": "directional_3d",
            "element": "tidy bed edge",
            "orientation": "The bed’s side plane angles away behind 수리영’s shoulder.",
            "state": "clean, still, too orderly"
          },
          {
            "camera_use": "Background reminder that the corpse location is now empty.",
            "directionality_class": "transparent_surface",
            "element": "curtain area behind her",
            "orientation": "The curtain’s thin fabric is visible with no body shape behind it, only pale wall and shadow.",
            "state": "hanging still, clean"
          },
          {
            "camera_use": "Blank surface reinforcing her disbelief.",
            "directionality_class": "content_surface",
            "element": "unmarked wall",
            "orientation": "The wall face behind her is visible and bare, carrying no red circle or stain.",
            "state": "pale, empty"
          }
        ],
        "lighting_mood": "A drained blue-gray wash whitens 수리영’s face while faint red spill from outside barely grazes the room, suggesting dread without proof.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From a low corner of the bedroom near floor level, the camera is static and angled slightly downward across the floor, converting the quiet-reveal stage into a still clue insert with no people present. The backpack and doll sit in the lower half of frame, separated by a small but suspicious gap, with the wall base and floorboards giving precise scale and placement.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "slightly shifted backpack",
              "screen_zone": "lower_left",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "slightly shifted doll",
              "screen_zone": "lower_right",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "bedroom corner baseboard",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Clue object whose altered placement suggests the room was reset.",
            "directionality_class": "directional_3d",
            "element": "backpack",
            "orientation": "Its front pocket side is angled partly toward camera rather than lying square to the wall.",
            "state": "closed, slightly displaced"
          },
          {
            "camera_use": "Second clue object contrasting with the backpack’s new position.",
            "directionality_class": "directional_3d",
            "element": "doll",
            "orientation": "The doll’s face and torso are turned slightly off-axis toward the floor-level camera.",
            "state": "still, clean, subtly out of place"
          },
          {
            "camera_use": "Fixed reference line proving the objects’ positions in the corner.",
            "directionality_class": "directional_3d",
            "element": "bedroom corner baseboard",
            "orientation": "The baseboard runs horizontally behind the objects and meets the wall at a visible corner.",
            "state": "clean, dry, unmarked"
          }
        ],
        "lighting_mood": "Dim blue-gray floor light with a faint gold edge on plastic and fabric makes the tiny displacement feel ritualistically arranged.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 12,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At bench-side height about eight feet from the bus stop bench, the camera holds the establishing side composition slightly seaward of 수리영, angled across her profile with the dark coastline behind her. She sits small but clear in the frame, the bench cutting a horizontal line through the lower third while the sea and mist swallow the background.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "slumped on bench edge",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary seating anchor for 수리영’s stillness.",
            "directionality_class": "directional_3d",
            "element": "bus stop bench",
            "orientation": "The bench is seen lengthwise from the side, its seat line leading toward 수리영.",
            "state": "wet, empty except for 수리영"
          },
          {
            "camera_use": "Deep background void emphasizing isolation.",
            "directionality_class": "non_directional",
            "element": "dark coastline and sea mist",
            "orientation": "",
            "state": "black-blue, windy, barely visible"
          },
          {
            "camera_use": "Overhead practical structure framing the stop without warmth.",
            "directionality_class": "directional_3d",
            "element": "bus stop shelter",
            "orientation": "The shelter’s side posts and roof edge angle away from camera along the road.",
            "state": "dim, damp, mostly unlit"
          }
        ],
        "lighting_mood": "Cold coastal darkness dominates, with weak sodium-gold bus stop spill barely separating 수리영 from the blue-gray sea haze.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Low and slightly behind 수리영, the camera tracks from six to ten feet back along the direction she runs away from the bench into the darker road edge. The frame catches her rear silhouette at the instant one foot hangs in the air, her body placed center-left and moving toward the upper-right darkness while the bus stop falls behind.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "one foot airborne",
            "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": "dark road edge",
              "label": "수리영 running away",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "dark road edge",
              "screen_zone": "upper_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Vanishing direction for her departure, swallowing her silhouette.",
            "directionality_class": "non_directional",
            "element": "dark roadside edge",
            "orientation": "",
            "state": "nearly black, misty, unlit"
          },
          {
            "camera_use": "Receding origin point of the conversation.",
            "directionality_class": "directional_3d",
            "element": "bus stop bench and shelter behind her",
            "orientation": "The shelter’s side faces the camera at an oblique angle behind 수리영.",
            "state": "wet, dim, falling out of focus"
          },
          {
            "camera_use": "Ground texture catching her motion and the coastal damp.",
            "directionality_class": "non_directional",
            "element": "wet road surface",
            "orientation": "",
            "state": "slick, dark, faintly reflective"
          }
        ],
        "lighting_mood": "A thin gold bus-stop backlight rims her moving silhouette against heavy blue-black road shadow, with no comforting fill ahead.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera hard-cuts to a distant hidden eye-level position across the dark roadside, static and partially masked by foreground blackness, as if an unseen watcher has stopped breathing. 혜수 and 수리영 are kept small within the bus stop area, framed through irregular dark edges so the prior physical tracking energy becomes an unnerving surveillance-like gaze.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "calling after Suri-young",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "mid-run pulling away",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "background",
              "gesture_action": "looks_toward",
              "gesture_target_label": "수리영 leaving the bus stop",
              "label": "혜수 near bus stop",
              "screen_zone": "lower_left",
              "target_id": "C02",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "moves_toward",
              "gesture_target_label": "dark road beyond the stop",
              "label": "수리영 leaving frame",
              "screen_zone": "lower_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "foreground darkness masking the watcher",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Foreground concealment creating the watcher’s hidden vantage.",
            "directionality_class": "non_directional",
            "element": "black roadside foreground obstruction",
            "orientation": "",
            "state": "opaque, out of focus, masking frame edges"
          },
          {
            "camera_use": "Distant stage containing both women.",
            "directionality_class": "directional_3d",
            "element": "bus stop shelter",
            "orientation": "The shelter faces the watcher at a diagonal, enclosing the women in the far background.",
            "state": "dim, wet, isolated"
          },
          {
            "camera_use": "Background void that pulls 수리영 away from 혜수.",
            "directionality_class": "non_directional",
            "element": "dark coastal road",
            "orientation": "",
            "state": "misty, unlit, blue-black"
          }
        ],
        "lighting_mood": "The image is mostly blue-black negative space, with tiny gold bus-stop light and faint red roadside reflections making the figures feel watched rather than protected.",
        "perception_mode": "direct",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the tight over-the-desk position inherited from the flow, the camera sits slightly below 김형사's eye line, less than two feet from 혜수's extended hand; her fingers and the phone screen occupy the lower-center foreground at about one third of the frame, with 김형사's blurred eye line hovering just beyond it. This is a neutral observer's direct view, compressed through shallow depth of field so the evidence feels pushed into his face while 혜수's forearm leads diagonally back toward her tense partial silhouette.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "arm thrust forward",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C05",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning toward screen",
            "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 focal evidence, held close to the lens without exceeding natural scale.",
            "directionality_class": "content_surface",
            "element": "phone screen",
            "orientation": "The lit front face is angled slightly upward toward 김형사 and the camera, showing the saved contact number as the meaningful content.",
            "state": "on, smudged glass, cold glow"
          },
          {
            "camera_use": "Low foreground plane separating the two characters and grounding the police-office space.",
            "directionality_class": "directional_3d",
            "element": "desk edge",
            "orientation": "The near horizontal edge cuts across the bottom of frame, with its front side facing the camera.",
            "state": "cluttered, worn, dimly lit"
          },
          {
            "camera_use": "Soft background texture behind 김형사, keeping the night-duty office realistic.",
            "directionality_class": "non_directional",
            "element": "police office paperwork and partitions",
            "orientation": "",
            "state": "muted, shadowed, slightly messy"
          }
        ],
        "lighting_mood": "A cold fluorescent-blue office wash is punctured by the phone's pale glow, with damp-looking shadows and tiny red/gold desk accents kept subdued.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Following the flow's tilt up the line of 혜수's arm, the camera lands close in front of her face from just off 김형사's side of the desk, about two feet away, with the desk edge only implied below frame. The composition changes only the visual focus from evidence to emotion: her furrowed brow and fixed stare fill the center while the police office dissolves into soft blue-gray shapes behind her.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "chin tightened forward",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C05",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft secondary background, preventing the close-up from floating in empty space.",
            "directionality_class": "directional_3d",
            "element": "desk edge below frame",
            "orientation": "Only the top edge is faintly implied at the bottom, angled away toward 김형사's side.",
            "state": "mostly out of focus"
          },
          {
            "camera_use": "Blurred institutional texture behind 혜수's head.",
            "directionality_class": "non_directional",
            "element": "police office partitions",
            "orientation": "",
            "state": "dim, desaturated, indistinct"
          },
          {
            "camera_use": "Tiny practical color accent in the background bokeh.",
            "directionality_class": "content_surface",
            "element": "distant status light or notice board",
            "orientation": "A small front-facing colored point or paper surface is visible as defocused red-gold detail.",
            "state": "soft, unreadable"
          }
        ],
        "lighting_mood": "Low-key fluorescent light sculpts her brow in muted blue-gray, leaving a narrow warm glint on her cheekbone like an omen.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At rooftop level beside the 검은 고양이, the camera holds static just below the cat's shoulder line, angled upward so the cat sits crisp in lower-left side profile while the lit rooftop-room window hangs higher and farther in the upper-right background. The direct observer view uses the cat's raised muzzle as an arrow through the damp dawn mist, preserving the flow's upward gaze before any lateral movement begins.",
        "character_angles": [
          {
            "angle": "profile_right",
            "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": "lit rooftop room window",
              "label": "black cat",
              "screen_zone": "lower_left",
              "target_id": "C15",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "lit rooftop room window",
              "screen_zone": "upper_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "High background focal anchor for the cat's gaze.",
            "directionality_class": "transparent_surface",
            "element": "lit rooftop room window",
            "orientation": "Condensed glass faces the camera at a slight upward angle, with warm interior light visible beyond the bluish dawn surface.",
            "state": "closed, glowing, moisture-streaked"
          },
          {
            "camera_use": "Low horizontal plane that gives the cat a place to perch and later move from.",
            "directionality_class": "directional_3d",
            "element": "rooftop parapet",
            "orientation": "The top ledge runs diagonally away from camera, its outer side falling into mist.",
            "state": "damp, stained concrete"
          },
          {
            "camera_use": "Atmospheric veil between cat and window.",
            "directionality_class": "non_directional",
            "element": "early dawn mist",
            "orientation": "",
            "state": "dense, blue-gray, slowly drifting"
          }
        ],
        "lighting_mood": "Bluish predawn ambience wraps the rooftop in wet shadows while the window leaks a restrained gold glow through mist.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 17,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the bathroom at sink height, the camera is pressed close to the mirror plane and tightens within the reflection so the reflected tiled wall fills most of the frame while the red circle sits sharp near center-right. 수리영 is only a soft reflected edge at the side of the composition, preserving the flow's mirror axis and making the viewer read the apparition as something seen in glass rather than on the real wall.",
        "character_angles": [
          {
            "angle": "over_shoulder",
            "body_pose": "bracing at sink",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary viewing surface; the entire shot is organized as a mirror image.",
            "directionality_class": "reflective_surface",
            "element": "bathroom mirror",
            "orientation": "The mirror reflects 수리영's partial shoulder and the tiled wall behind her, with the reflected red circle appearing unnaturally clear on that wall.",
            "state": "fog-dulled edges, wet specks, reflective"
          },
          {
            "camera_use": "Occult focal mark within the reflected image.",
            "directionality_class": "content_surface",
            "element": "reflected tiled wall with red circle",
            "orientation": "The wall face visible inside the mirror carries a vivid red circular mark that should not be present in reality.",
            "state": "clean tiles, hallucinated red mark sharp"
          },
          {
            "camera_use": "Low foreground spatial cue anchoring the sink-height camera.",
            "directionality_class": "directional_3d",
            "element": "sink rim",
            "orientation": "A thin curved rim grazes the lower edge, its top surface facing upward toward the mirror.",
            "state": "wet, porcelain sheen"
          }
        ],
        "lighting_mood": "Cold bathroom daylight turns blue-gray on tile and mirror fog, while the impossible red circle cuts through with ritualistic intensity.",
        "perception_mode": "mirror",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At dining-table height, the camera pushes closer than the base flow until the framed photograph becomes an isolated insert, the mother's smiling face occupying the central field while the frame edge and tabletop barely remain as scale references. The image is perceived as a hallucination: the face seems to sag and liquefy within the printed photo surface, while the surrounding room stays unnervingly still.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "smiling photo pose",
            "character": "민숙",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary hallucinated object and focal surface.",
            "directionality_class": "content_surface",
            "element": "framed family photograph",
            "orientation": "The front printed face of the photograph is square to the camera, showing the mother's smiling portrait as it appears to melt downward.",
            "state": "upright on table, hallucinated distortion active"
          },
          {
            "camera_use": "Thin boundary that keeps the melting face tied to a physical photo, not a floating vision.",
            "directionality_class": "directional_3d",
            "element": "photo frame edge",
            "orientation": "The near bevel faces the camera along the lower and side edges, slightly catching light.",
            "state": "clean, hard-edged, dark trim"
          },
          {
            "camera_use": "Flat support plane visible only around the photo margins.",
            "directionality_class": "directional_3d",
            "element": "dining tabletop",
            "orientation": "The top surface slopes subtly away from the lens, giving the insert a low table-height perspective.",
            "state": "dim, slightly glossy, still"
          }
        ],
        "lighting_mood": "Muted daylight is drained into blue-gray domestic shadow, with the photo's warm skin tones curdling into sickly red-gold smears during the hallucination.",
        "perception_mode": "hallucination",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 14,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Outside under the market awning, the camera remains slightly below 수리영's eye level near the wall corner and frames her more frontally as requested, holding her upturned face in close view while the CCTV stays offscreen above her line of sight. The flow's tilt is felt in the low angle and raised chin, but the composition steadies on her stare, with the awning edge and wall compressing the space around her.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "chin lifted tense",
            "character": "수리영",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Top-frame directional cue implying the offscreen CCTV position.",
            "directionality_class": "directional_3d",
            "element": "market awning underside",
            "orientation": "The underside plane recedes above her head toward the unseen camera mount.",
            "state": "shadowed, slightly stained"
          },
          {
            "camera_use": "Side compression against 수리영, placing her near the mounted surveillance area.",
            "directionality_class": "directional_3d",
            "element": "exterior wall corner",
            "orientation": "The corner edge faces the camera obliquely, forming a hard vertical line beside her.",
            "state": "weathered, pale, damp at seams"
          },
          {
            "camera_use": "Soft background entrance context without stealing focus.",
            "directionality_class": "transparent_surface",
            "element": "market entrance glass",
            "orientation": "The glass reflects faint street light while allowing dim interior shelving shapes beyond.",
            "state": "closed or partly ajar, smudged"
          }
        ],
        "lighting_mood": "Cool morning light under the awning flattens into blue-gray shadow, with a faint gold spill from the market entrance behind her.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera settles from the previous upward implication to chest-to-eye height in front of 수리영, tightening to an upper-body frame while she holds the phone to her ear. Only the camera distance changes from the prior close face shot: the wall and entrance area sit softly behind and beside her as she explains the CCTV possibility with a clenched, serious expression.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "phone pressed to ear",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Background context for the exterior call.",
            "directionality_class": "transparent_surface",
            "element": "market entrance glass",
            "orientation": "The front glass surface faces camera at a slight angle, showing dim shelves inside and faint exterior reflections.",
            "state": "smudged, morning-lit"
          },
          {
            "camera_use": "Overhead shadow source keeping her face cool and tense.",
            "directionality_class": "directional_3d",
            "element": "awning edge",
            "orientation": "The front lip of the awning crosses the upper background, its underside facing down toward 수리영.",
            "state": "dull, damp, shadow-casting"
          },
          {
            "camera_use": "Side texture anchoring her beside the building.",
            "directionality_class": "directional_3d",
            "element": "exterior wall",
            "orientation": "The wall plane runs behind her shoulder, angled shallowly across frame.",
            "state": "weathered, muted"
          }
        ],
        "lighting_mood": "Soft overcast daylight is suppressed by the awning into tense blue-gray tones, with a small warm reflection from the shop glass along her cheek.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the rear of the dim security office at eye level, the camera holds about eight feet behind the desk, centered on 혜수 and the 한국인 보안 직원 as dark back silhouettes facing the monitor. This direct observer view establishes the room layout: their shoulders occupy the lower middle foreground, the desk and glowing monitor sit ahead, and the surrounding office recedes into damp blue-black corners.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "leaning over desk",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "hand on console",
            "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": "Primary light source and shared focal destination for both characters.",
            "directionality_class": "content_surface",
            "element": "desk monitor",
            "orientation": "The front screen faces away from the camera but casts visible light around its edges toward the characters.",
            "state": "on, replaying CCTV, too dark in one area"
          },
          {
            "camera_use": "Horizontal workspace leading the viewer's eye forward along the flow path.",
            "directionality_class": "directional_3d",
            "element": "security desk",
            "orientation": "The rear edge faces the camera, with the tabletop stretching toward the monitor.",
            "state": "cluttered, dim, utilitarian"
          },
          {
            "camera_use": "Dark enclosing background for surveillance atmosphere.",
            "directionality_class": "non_directional",
            "element": "security office shadows",
            "orientation": "",
            "state": "low visibility, blue-gray, stagnant"
          }
        ],
        "lighting_mood": "The office is lit almost entirely by the monitor's cold blue glow, with faint red and gold indicator lights pricking through the heavy shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Now directly in front of the desk monitor, the camera squares to the glass surface less than two feet away, cropping tight so the monitor frame nearly fills the shot while still leaving a thin bezel as a physical boundary. The viewer sees the paused low-resolution CCTV image through the device screen, with one side swallowed by unnatural darkness that feels heavier than simple underexposure.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary screen content and device-mediated viewpoint.",
            "directionality_class": "content_surface",
            "element": "security monitor screen",
            "orientation": "The front face is square to camera, displaying a frozen low-resolution CCTV still with the darkened section pushed prominently to one side.",
            "state": "on, paused, pixelated"
          },
          {
            "camera_use": "Thin scale cue preventing the screen from becoming an abstract full-frame image.",
            "directionality_class": "directional_3d",
            "element": "monitor bezel",
            "orientation": "The front rim faces the camera evenly around the screen, barely visible in the crop.",
            "state": "black plastic, dusty edges"
          },
          {
            "camera_use": "Subtle surface artifact on the monitor glass.",
            "directionality_class": "reflective_surface",
            "element": "monitor glass glare",
            "orientation": "The glass faintly reflects dim office indicator lights and vague silhouettes without obscuring the CCTV darkness.",
            "state": "smudged, low reflection"
          }
        ],
        "lighting_mood": "Cold monitor light and crushed blue-black shadows create a surveillance-horror stillness, with the dark patch absorbing nearly all detail.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Low over the desk edge, the camera keeps the disturbing photographs blurred across the lower foreground and dollies in toward 수리영's drained face as she looks down at them. The flow's angle from photographs up to her reaction is preserved, but the frame tightens so her pallor and frozen breath become the emotional center while the police office remains a soft, emptied background.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "hunched over photos",
            "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 lower-foreground cause of her fear.",
            "directionality_class": "content_surface",
            "element": "case photographs",
            "orientation": "The printed image sides face upward toward 수리영 and the low camera, but their details are deliberately out of focus.",
            "state": "scattered, enlarged, disturbing but blurred"
          },
          {
            "camera_use": "Foreground ledge tying the camera to tabletop height.",
            "directionality_class": "directional_3d",
            "element": "desk edge",
            "orientation": "The near edge runs across the bottom of frame, its front side facing the camera.",
            "state": "worn, cluttered"
          },
          {
            "camera_use": "Soft institutional emptiness behind her after the detectives leave.",
            "directionality_class": "non_directional",
            "element": "police office background",
            "orientation": "",
            "state": "quiet, defocused, blue-gray"
          }
        ],
        "lighting_mood": "Flat daytime office light is cooled into corpse-like blue-gray on her face, with muted red flecks from the photographs bleeding softly in the foreground.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At eye level just past the monitor axis, the camera holds a close frontal view of 수리영 across the desk; the monitor itself stays barely out of frame, but its cold glow shapes her widened eyes and pale face. She occupies the center two-thirds of the frame, shoulders slightly hunched toward the unseen screen, while blurred police paperwork and crime-scene photo edges sit low in the foreground without stealing focus.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "hunched toward monitor",
            "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": "Implied light source just below the lens line, motivating her fixed stare.",
            "directionality_class": "content_surface",
            "element": "police workstation monitor",
            "orientation": "The lit front face is angled toward 수리영 and mostly hidden from camera, showing only a cyan spill rather than readable content.",
            "state": "on, displaying location-result information off-frame"
          },
          {
            "camera_use": "Low foreground clutter that frames her reaction and reminds us she is intruding into official material.",
            "directionality_class": "content_surface",
            "element": "case photographs on desk",
            "orientation": "The printed faces of the photographs lie upward toward the camera but are out of focus, their disturbing contents reduced to pale shapes and dark stains.",
            "state": "scattered, partially overlapping"
          },
          {
            "camera_use": "Horizontal plane separating her from the implied monitor, adding a trapped workstation feel.",
            "directionality_class": "directional_3d",
            "element": "detective desk",
            "orientation": "The desktop plane recedes from the lower frame toward 수리영, with its front edge closest to camera.",
            "state": "cluttered, dimly lit"
          }
        ],
        "lighting_mood": "Low-key police-office fluorescents mix with icy monitor light, leaving muted blue-gray shadows under her eyes and a faint red alert accent in the blur.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At waist height beside the desk, the camera stays within arm’s reach and angles down to a close view of 수리영’s hand frozen after pushing the folded note into her pocket. The hand and pocket sit in the lower-right half of the frame, with the desktop edge and a pen blurred along the left, preserving the secrecy of the action before the camera withdraws.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "hand paused at pocket",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary secret-action detail, caught at the moment after concealment.",
            "directionality_class": "content_surface",
            "element": "folded paper note",
            "orientation": "Only the blank folded outer face is visible at the pocket opening; the coordinate writing is concealed inside.",
            "state": "folded, mostly hidden"
          },
          {
            "camera_use": "Foreground edge that creates a cramped covert space beside her body.",
            "directionality_class": "directional_3d",
            "element": "desk side panel",
            "orientation": "The vertical side of the desk faces the camera obliquely, cutting the left edge of the frame.",
            "state": "scratched, shadowed"
          },
          {
            "camera_use": "Contextual clutter behind the hand, suggesting she has just written quickly.",
            "directionality_class": "directional_3d",
            "element": "pen and loose stationery",
            "orientation": "Small objects lie flat on the desktop above and behind her hand, seen at a steep downward angle.",
            "state": "disturbed, slightly out of focus"
          }
        ],
        "lighting_mood": "The cyan monitor glow falls off into damp blue-gray shadow around her waist, with a small warm desk-lamp glint catching the paper edge.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 10,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The shot isolates 수리영’s hand and pocket action rather than her face or full appearance, so a base identity reference is safer than requiring an outlook match.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "From across the driveway, the camera holds a wide, static eye-level full-body composition facing the police station entrance. 수리영 is side-on near the right third, perched on the bicycle saddle with one foot planted on the wet ground, while the building frontage and empty driveway stretch behind her in a tense pause before movement.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "perched on saddle",
            "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": "Establishing backdrop that makes her look small and newly alone after leaving official protection.",
            "directionality_class": "directional_3d",
            "element": "police station frontage",
            "orientation": "The entrance facade faces the camera squarely, with glass doors recessed in the center.",
            "state": "open entrance area, daytime but muted"
          },
          {
            "camera_use": "Ground plane reflecting the building and bicycle tires, adding damp realism.",
            "directionality_class": "reflective_surface",
            "element": "wet driveway asphalt",
            "orientation": "The slick surface reflects faint vertical streaks of the station facade and the bicycle wheels beneath her.",
            "state": "rain-darkened, lightly puddled"
          },
          {
            "camera_use": "Primary mobility object, held in stillness before departure.",
            "directionality_class": "directional_3d",
            "element": "parked bicycle",
            "orientation": "The bicycle is shown side-on, wheels aligned left-to-right across the frame.",
            "state": "stationary, rider mounted"
          }
        ],
        "lighting_mood": "Overcast daylight is flattened into cool blue-gray tones, with small gold reflections from station signage barely warming the wet asphalt.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 22,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The lens is almost perpendicular to the monitor surface in an extremely tight screen close-up, cropping out nearly all of the PC room except a thin sliver of dark bezel. The red location pin and coastal map occupy the central frame, with pixel texture and slight screen moiré making the image feel mediated and urgent.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary image surface showing the destination information.",
            "directionality_class": "content_surface",
            "element": "monitor map display",
            "orientation": "The front screen face is visible head-on, carrying a coastal map with a red location pin near the center.",
            "state": "on, bright, tightly cropped"
          },
          {
            "camera_use": "Thin frame reference that proves the image is on a monitor rather than a free-floating map.",
            "directionality_class": "directional_3d",
            "element": "monitor bezel edge",
            "orientation": "Only a narrow dark rim is visible along one side, nearly parallel to the frame edge.",
            "state": "barely visible, matte black"
          },
          {
            "camera_use": "Subtle texture layer emphasizing electronic observation.",
            "directionality_class": "content_surface",
            "element": "screen pixel grid",
            "orientation": "The visible screen face shows fine RGB pixel structure over the map content.",
            "state": "active, faintly shimmering"
          }
        ],
        "lighting_mood": "The map’s cold digital blue-gray glow is punctured by the sharp red pin, with the surrounding room falling into near-black PC-bang shadow.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 23,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Low beside the open backpack, about chair height, the camera angles down into the bag as 수리영’s hand finishes pushing several folded paper maps inside. The bag mouth takes the lower half of the frame, her hand enters from the upper left, and the desk leg and PC booth darkness remain as scale references around the action.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "reaching into backpack",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary receptacle for the preparation action, framing the maps as evidence of intent.",
            "directionality_class": "directional_3d",
            "element": "open backpack",
            "orientation": "The open mouth faces upward and slightly toward the camera, revealing the dark interior.",
            "state": "unzipped, partly collapsed"
          },
          {
            "camera_use": "Main action object, paused just after being packed.",
            "directionality_class": "content_surface",
            "element": "folded paper maps",
            "orientation": "Creased printed map faces are partly visible on the top folds, angled into the backpack so only fragments of lines and coast shapes show.",
            "state": "folded, newly inserted"
          },
          {
            "camera_use": "Dark structural edge that compresses the frame and suggests a cramped PC-bang station.",
            "directionality_class": "directional_3d",
            "element": "PC desk underside",
            "orientation": "The underside and side leg face the camera from above-left, forming a shadowed corner behind the bag.",
            "state": "dim, worn"
          }
        ],
        "lighting_mood": "Cool monitor spill and weak fluorescent overheads create blue-gray shadows inside the backpack, with a muted red UI reflection flickering on the folded map edges.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 23,
        "shot_index": 4,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only 수리영’s hand and packing action are visible, so full outlook-specific identity matching would not meaningfully apply.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "Tracking backward just ahead of the handlebars, the camera stays slightly below 수리영’s eye line in a tight frontal close shot that includes both her rain-soaked face and clenched hands. Her face fills the upper center while the handlebar cuts across the lower third, and rain streaks slash through the foreground as the road behind her collapses into gray motion blur.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "leaning over handlebars",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Lower-frame physical anchor showing effort and speed.",
            "directionality_class": "directional_3d",
            "element": "bicycle handlebar",
            "orientation": "The handlebar faces the camera frontally, slightly bowed across the lower third of the frame.",
            "state": "wet, gripped tightly"
          },
          {
            "camera_use": "Foreground veil that adds violent motion and weather pressure.",
            "directionality_class": "transparent_surface",
            "element": "rain streaks in front of lens",
            "orientation": "Sheets of rain pass between camera and rider, partially obscuring her face and hands without hiding them.",
            "state": "heavy, wind-driven"
          },
          {
            "camera_use": "Blurred environment behind her, giving forward momentum.",
            "directionality_class": "reflective_surface",
            "element": "wet coastal road",
            "orientation": "The slick road behind her reflects gray sky and faint roadside highlights as elongated smears.",
            "state": "rain-slick, motion-blurred"
          }
        ],
        "lighting_mood": "Storm light is cold and bruised blue-gray, with hard silver rain highlights and occasional red glints from distant warning lights cutting through the frame.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 24,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From just outside the half-open bedroom door at eye level, the camera peers diagonally through the narrow gap as if adopting 수리영’s discovered line of sight. The doorframe hangs large in the foreground on both sides, while the red circle mark on the far bedroom wall is held sharp in the middle distance before the camera slips closer.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "half-open bedroom doorframe",
              "screen_zone": "middle_left",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "red circle mark on bedroom wall",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Foreground obstruction that makes the reveal feel spied through and unsafe.",
            "directionality_class": "directional_3d",
            "element": "half-open bedroom door",
            "orientation": "The door’s inner edge and frame face the camera diagonally, leaving a narrow visible gap toward the room.",
            "state": "half-open, still"
          },
          {
            "camera_use": "Primary occult sign revealed beyond the doorway.",
            "directionality_class": "content_surface",
            "element": "red circle mark on bedroom wall",
            "orientation": "The camera sees the wall’s painted face directly through the door gap, with the red circle clearly drawn on that visible surface.",
            "state": "fresh-looking, stark against the wall"
          },
          {
            "camera_use": "Interior plane carrying the mark and flattening the room into an ominous sign board.",
            "directionality_class": "content_surface",
            "element": "bedroom wall surface",
            "orientation": "The camera-facing wall plane is visible beyond the threshold, holding the red mark at roughly eye height.",
            "state": "dim, slightly dirty"
          }
        ],
        "lighting_mood": "Dusk seeps in as muted blue-gray ambient light, while the red circle reads as a sharp ritual accent against the damp, shadowed room.",
        "perception_mode": "direct",
        "perspective": "subjective_pov",
        "pov_character": "수리영",
        "scene_index": 25,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At shoulder height beside 수리영, the handheld camera stays tight on her side profile from a slightly lower eye line, letting the photograph in her hand intrude at the bottom edge. Her stunned face occupies the right half of the frame while the marked wall behind her dissolves into a red blur, making the shock register before the evidence does.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "clutching photograph low",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Lower-frame evidence object connecting her reaction to the earlier flashback clue.",
            "directionality_class": "content_surface",
            "element": "old photograph in her hand",
            "orientation": "The printed face of the photograph is angled partly toward camera but cropped and soft, showing only faded shapes and dark stains.",
            "state": "creased, stained, gripped tightly"
          },
          {
            "camera_use": "Blurred occult backdrop behind her profile.",
            "directionality_class": "content_surface",
            "element": "red marked bedroom wall",
            "orientation": "The camera sees the marked wall face behind her, but the red circle is out of focus and partially blocked by her head.",
            "state": "defaced, shadowed"
          },
          {
            "camera_use": "Disordered domestic texture around the room edge, keeping the break-in present without distraction.",
            "directionality_class": "directional_3d",
            "element": "messy bedroom furniture edge",
            "orientation": "A furniture corner recedes behind her shoulder at a diagonal, barely visible in shallow focus.",
            "state": "disturbed, dim"
          }
        ],
        "lighting_mood": "Low dusk light and handheld shadow wrap her face in blue-gray, with the red wall mark bleeding softly behind her and a dull gold edge catching the old photo.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From knee height on the empty harbor edge, the camera has drifted in to a wide rear-side silhouette of 수리영 seated on the dark rock, keeping her small against the fog-covered sea. Her knees are gathered close to her chest in the lower-left third, while the water and mist occupy most of the frame, swallowing facial detail and making the harbor feel abandoned.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "knees hugged close",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Dominant negative space and emotional horizon.",
            "directionality_class": "reflective_surface",
            "element": "fog-covered harbor water",
            "orientation": "The water reflects a smeared gray sky and the dark underside of the mist, with no clear boats visible.",
            "state": "calm, opaque with fog"
          },
          {
            "camera_use": "Physical perch isolating her from the harbor path.",
            "directionality_class": "non_directional",
            "element": "dark shoreline rock",
            "orientation": "",
            "state": "wet, rough, almost black"
          },
          {
            "camera_use": "Atmospheric curtain obscuring distance and delaying the boat’s arrival.",
            "directionality_class": "non_directional",
            "element": "dense sea fog",
            "orientation": "",
            "state": "thick, drifting slowly"
          }
        ],
        "lighting_mood": "Post-rain dusk turns the harbor into low-key blue-gray silhouettes, with only faint cold highlights on the wet rock and no comforting warm source.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 2,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "수리영 is intentionally minimized as a dark silhouette with facial detail suppressed, so full outlook matching is less important than preserving her base identity and posture.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "At dock level beside the boat, the camera holds a tight upper-body view of 수리영 from slightly below her eye line, angled upward so her raised gaze leads to 인우 above the boat edge. Her clasped hands sit at the lower frame edge, her pleading face occupies the center, and 인우 remains higher and off to one side as a partial figure near the gunwale, preserving the dock-to-boat power difference.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "clasped hands raised",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "bracing on gunwale",
            "character": "인우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "man on the boat",
              "label": "수리영 pleading on dock",
              "screen_zone": "lower_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "인우 above boat edge",
              "screen_zone": "upper_right",
              "target_id": "C03",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "boat gunwale between them",
              "screen_zone": "middle_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Height divider between the pleading girl and the man deciding whether to help.",
            "directionality_class": "directional_3d",
            "element": "boat gunwale",
            "orientation": "The side rail faces the camera diagonally, cutting across the upper-right portion of the frame above 수리영.",
            "state": "wet, weathered"
          },
          {
            "camera_use": "Foreground floor plane grounding her lower position.",
            "directionality_class": "reflective_surface",
            "element": "wet dock surface",
            "orientation": "The dock boards reflect faint gray sky and blurred shapes of her hands near the lower frame.",
            "state": "slick, rain-darkened"
          },
          {
            "camera_use": "Background atmosphere that makes the boat feel like the only exit.",
            "directionality_class": "non_directional",
            "element": "harbor fog behind boat",
            "orientation": "",
            "state": "dense, swallowing the far shoreline"
          }
        ],
        "lighting_mood": "Cold fog-diffused dusk keeps their faces in blue-gray half-shadow, with small gold glints on wet rope and a muted red-brown rust line along the boat edge.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow’s settled endpoint, the camera holds very close at face height about 40 cm from 수리영, just off her front in a tight close-up; her face occupies the center-right of frame while the fog-softened sea direction remains only as a blurred blue-gray band beyond her gaze. Eye-level, still, and intimate, the composition lets her faint smile emerge without cutting away, with damp hair texture and mist beads catching the edge light.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "chin slightly lifted",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft background horizon line behind her gaze, giving the smile a destination without revealing the boat clearly.",
            "directionality_class": "non_directional",
            "element": "fog-covered sea horizon",
            "orientation": "",
            "state": "dense mist, visibility heavily reduced"
          },
          {
            "camera_use": "Moist atmospheric layer softening the background and separating her face from the port environment.",
            "directionality_class": "non_directional",
            "element": "harbor fog",
            "orientation": "",
            "state": "thick, damp, drifting slowly"
          }
        ],
        "lighting_mood": "Muted dusk blue-gray shadows wrap her face, with a faint cold gold rim from the dying sky and wet highlights on skin and hair.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 12,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At chest height about six feet in front of 혜수, slightly below her eye line, the camera frames her as a tight upper-body subject in the center while the trashed rooftop living room crowds both edges with overturned objects and torn domestic clutter. The phone is pressed to her ear in the upper-right of her silhouette, her widened eyes held sharp as if the room itself is closing around her.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "phone clutched to ear",
            "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": "Pressed into the side edges of the frame to make the room feel unstable around her.",
            "directionality_class": "non_directional",
            "element": "scattered living room clutter",
            "orientation": "",
            "state": "messy, knocked over, damp-looking in dusk shadow"
          },
          {
            "camera_use": "Dim spatial backdrop behind 혜수, hinting at the later pan toward the door without stealing focus.",
            "directionality_class": "directional_3d",
            "element": "rooftop room interior walls",
            "orientation": "The stained wall planes angle away behind her, forming a cramped diagonal room corner.",
            "state": "dim, worn, gray-blue with moisture stains"
          },
          {
            "camera_use": "Handheld object defining her alarm and linking her to 수리영's recorded message.",
            "directionality_class": "directional_3d",
            "element": "mobile phone",
            "orientation": "Its narrow side and dark screen edge face camera while the speaker side is pressed to her ear.",
            "state": "on call, screen mostly hidden"
          }
        ],
        "lighting_mood": "Low-key dusk light seeps through the room in dirty blue-gray tones, with a faint cold glint on the phone and 혜수's widened eyes.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 27,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the rear corner of the living room at standing eye level, the camera holds a wide diagonal view across the emptied, wrecked space toward the half-open metal entrance door in the upper-middle distance. No character enters; the door occupies less than a third of the frame, while the barren floor, scattered debris, and dim walls create a hollow negative space that makes the creak feel accusatory.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary visual focus across the room, held as a still ominous anchor.",
            "directionality_class": "directional_3d",
            "element": "half-open metal entrance door",
            "orientation": "The inner face of the metal door is angled toward camera, showing its dull panel and edge gap to the outside stairwell.",
            "state": "half-open, creaking in wind, slightly ajar"
          },
          {
            "camera_use": "Foreground and midground emptiness used to stress abandonment after the conversation.",
            "directionality_class": "non_directional",
            "element": "desolate living room floor",
            "orientation": "",
            "state": "cluttered, scuffed, dimly lit"
          },
          {
            "camera_use": "Dim boundary of the room, making the doorway feel like a wound in the wall.",
            "directionality_class": "directional_3d",
            "element": "entrance wall and doorframe",
            "orientation": "The doorframe faces camera diagonally, its inner jamb catching a narrow line of dusk light.",
            "state": "worn, shadowed, paint chipped"
          }
        ],
        "lighting_mood": "Ashy dusk light and muted blue-gray shadows flatten the room, with a thin cold highlight trembling along the metal door edge.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 27,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "On the deck directly in front of 인우, the camera holds at eye level under one meter away in a tight close-up, squared to his face as the sea and deck dissolve into soft dusk blur behind him. His widened eyes sit nearly centered and his rigid mouth is caught in the lower third, while the photograph remains only implied just below frame, making his recognition feel trapped inside his expression.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "shoulders locked forward",
            "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": "인우",
              "screen_zone": "middle_center",
              "target_id": "C03",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft, low-detail background behind 인우, emphasizing the boat's isolation without distracting from his face.",
            "directionality_class": "non_directional",
            "element": "open sea behind deck",
            "orientation": "",
            "state": "dusk-dark, gently moving, out of focus"
          },
          {
            "camera_use": "Blurred lower background texture giving physical context to the close-up.",
            "directionality_class": "directional_3d",
            "element": "fishing boat deck",
            "orientation": "The deck surface recedes behind his shoulders, its planks and wet edges angled away from camera.",
            "state": "damp, weathered, softly defocused"
          },
          {
            "camera_use": "Implied off-frame evidence motivating his frozen gaze.",
            "directionality_class": "content_surface",
            "element": "photograph below frame",
            "orientation": "The printed face side is angled upward toward 인우, though only its presence is suggested below the camera edge.",
            "state": "held near chest level, not fully visible"
          }
        ],
        "lighting_mood": "Cold sea-blue dusk undercuts a thin gold backwash from sunset, leaving 인우's face pale and tense with damp shadow in the eye sockets.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the wheelhouse entrance on 수리영's side, shoulder height and about 1.2 meters from her flank, the handheld camera tracks parallel and catches the end of the intervention in a medium side composition. 수리영 occupies the left-mid foreground in profile, arm thrust across frame to 인우 on the right as her hand lands on his shoulder; the wheelhouse doorway and helm compress behind them, making the contact feel abrupt and physical.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "reaching into shoulder",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "twisting toward helm",
            "character": "인우",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "reaches_for",
              "gesture_target_label": "인우's shoulder",
              "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": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Narrow frame-within-frame around the struggle, tightening the path to the helm.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse entrance frame",
            "orientation": "The side jamb faces camera in sharp diagonal, with the doorway opening receding behind 인우.",
            "state": "open, cramped, wet-edged"
          },
          {
            "camera_use": "Background motivation for 인우's movement, visible past his shoulder.",
            "directionality_class": "directional_3d",
            "element": "helm controls",
            "orientation": "The control face is angled away from camera toward 인우, partially blocked by his body.",
            "state": "active boat controls, dimly lit"
          },
          {
            "camera_use": "Moving light and instability beyond the doorway, reinforcing the sea setting.",
            "directionality_class": "transparent_surface",
            "element": "wheelhouse window",
            "orientation": "Salt-streaked glass shows a blurred gray sea and fog beyond it.",
            "state": "dirty, damp, reflecting small streaks of dusk light"
          }
        ],
        "lighting_mood": "Handheld dusk light flickers in blue-gray and bruised gold through wet glass, with a hard shadow cutting across the doorway as 수리영 lunges.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 9,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At chest-to-waist height close to the helm surface, the lens angles downward on a shallow diagonal and finishes its dolly-in as 수리영's fingertip presses onto the child's face in the photograph. This is an insert-like held detail: the photo sits in the lower-center of frame with the finger entering from the upper-left, while the blurred wheelhouse surface and damp edges keep the object grounded without letting it overtake the whole frame.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "finger pressing photo",
            "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": "photograph with child's face",
              "screen_zone": "lower_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "reaches_for",
              "gesture_target_label": "child's face in the photograph",
              "label": "수리영's fingertip",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary evidence surface; the finger pins the emotional revelation to a specific face.",
            "directionality_class": "content_surface",
            "element": "old photograph",
            "orientation": "The printed image side faces the camera at a shallow diagonal, showing a small child's face beneath 수리영's fingertip.",
            "state": "slightly worn, handled, damp at the edges"
          },
          {
            "camera_use": "Low, practical surface supporting the photo and creating a claustrophobic evidence-table feel.",
            "directionality_class": "directional_3d",
            "element": "helm surface",
            "orientation": "The top plane faces camera obliquely, with edges receding toward the upper-right.",
            "state": "scratched, damp, dim"
          },
          {
            "camera_use": "Soft peripheral texture suggesting cramped boat interior without distracting from the photograph.",
            "directionality_class": "non_directional",
            "element": "wheelhouse grime and condensation",
            "orientation": "",
            "state": "wet, smudged, gray-blue"
          }
        ],
        "lighting_mood": "A narrow cold-blue wash from the wheelhouse window falls across the photo, while a faint dirty gold edge catches the fingertip and the printed child's cheek.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 4,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only 수리영's fingertip is visible in this insert, so a full outlook reference would be misleading for the image prompt.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "From the flow’s tight side position at shoulder height, about two feet away and parallel to 인우's shoulder line, the handheld camera settles into a suspended side close-up as 수리영's forehead touches his shoulder. 수리영's tilted upper body cuts diagonally from lower-left into 인우's rigid torso on the right, with the cramped wheelhouse wall and circular marks wavering behind them like an occult pattern glimpsed too late.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "collapsing onto shoulder",
            "character": "수리영",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "unconscious"
          },
          {
            "angle": "profile_left",
            "body_pose": "shoulders rigid above her",
            "character": "인우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영",
              "screen_zone": "lower_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "인우",
              "screen_zone": "middle_right",
              "target_id": "C03",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Uncanny background motif behind the two bodies, reinforcing folk-horror dread without becoming the main subject.",
            "directionality_class": "content_surface",
            "element": "wheelhouse wall with circular markings",
            "orientation": "The marked wall face is visible behind 인우's shoulder, showing repeated circles and one faint red circle partly obscured by the bodies.",
            "state": "dirty, damp, low-lit"
          },
          {
            "camera_use": "Hard cramped boundary trapping the collapse in a narrow interior space.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse side wall",
            "orientation": "The side plane runs parallel to the characters and recedes behind them.",
            "state": "worn, stained, shadowed"
          },
          {
            "camera_use": "Small sliver of outside dusk, adding cold backlight around their profiles.",
            "directionality_class": "transparent_surface",
            "element": "fogged wheelhouse window",
            "orientation": "Condensed glass shows only blurred sea-gray light beyond it.",
            "state": "fogged, salt-streaked, dim"
          }
        ],
        "lighting_mood": "Blue-gray interior shadow swallows the side profiles, with a sickly gold rim on 인우's shoulder and a restrained red accent from the circular mark behind him.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 9,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Low at water level, slightly ahead and off the front quarter of the fishing boat about five meters from the bow, the tracking camera looks back as the boat noses into the fog. The frame is tightened so the bow sits in the middle-left, half erased by a dense white-gray wall, while the exposed hull edge remains a dark silhouette against the gold backlit mist.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "thick fog bank",
              "label": "fishing boat bow",
              "screen_zone": "middle_left",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "thick fog bank",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary silhouette subject, entering the fog from the camera's near-water vantage.",
            "directionality_class": "directional_3d",
            "element": "fishing boat bow",
            "orientation": "The front-quarter face of the bow angles toward camera, with its leading half swallowed by fog and the rear edge still readable.",
            "state": "moving slowly, wet, darkened into silhouette"
          },
          {
            "camera_use": "Massive atmospheric barrier that hides half the boat and erases the horizon.",
            "directionality_class": "non_directional",
            "element": "thick fog bank",
            "orientation": "",
            "state": "dense, luminous, swallowing the bow"
          },
          {
            "camera_use": "Low foreground texture giving scale and a haunted glide to the tracking move.",
            "directionality_class": "reflective_surface",
            "element": "gold-shadowed seawater",
            "orientation": "The rippled surface reflects the dying sunset and the boat's dark underside in broken streaks.",
            "state": "dark, gently choppy, metallic gold highlights"
          },
          {
            "camera_use": "Backlight source exposing for silhouette rather than hull detail.",
            "directionality_class": "non_directional",
            "element": "setting sun glow",
            "orientation": "",
            "state": "low, diffused through fog, golden"
          }
        ],
        "lighting_mood": "Exposure favors the golden backlight through fog, rendering the boat as a blue-black silhouette against muted gold and cold gray mist.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 30,
        "shot_index": 3,
        "subject_reference_policy": []
      }
    ],
    "total": 58,
    "failed_batches": 0
  },
  "step_id": "shot_staging",
  "run_id": "94fb9520-4148-4886-8d81-1761901b3811",
  "resolved_model": "gpt",
  "updated_at": "2026-06-19T02:43:30.393642+00:00",
  "schema_version": 6,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}