{
  "status": "completed",
  "completed_count": 53,
  "applicable_count": 53,
  "failed_count": 0,
  "data": {
    "shots": [
      {
        "camera_direction": "From the stage’s low chest-height retreating path, the handheld camera backs down the narrow forest trail about six feet ahead of the fleeing Korean man, held slightly wider so his raised foot, forward pitch, and flaring clothing all fit in frame. He occupies the center-left midground, pushing toward the lens through wet brush that scrapes the frame edges, with a slight low-angle tilt that makes the dusk woods feel like they are closing behind him.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "one foot airborne",
            "character": "한국인 남성",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Foreground occlusion and chase texture; branches intermittently cut across the lens as the camera retreats.",
            "directionality_class": "non_directional",
            "element": "overgrown forest brush",
            "orientation": "",
            "state": "wet, dense, and partially blurred by motion"
          },
          {
            "camera_use": "The central movement corridor that gives scale to the man’s sprint and foot placement.",
            "directionality_class": "non_directional",
            "element": "narrow muddy forest path",
            "orientation": "",
            "state": "dark, damp, uneven, scattered with leaves"
          },
          {
            "camera_use": "Atmospheric depth behind the runner, softening the background and hiding the threat direction.",
            "directionality_class": "non_directional",
            "element": "dusk forest fog",
            "orientation": "",
            "state": "thin gray-green haze hanging low between trees"
          }
        ],
        "lighting_mood": "Low dusk light in muted coastal grays and sickly greens, with damp highlights on leaves and a faint crimson glint from the bleeding leg.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inheriting the shoulder-height pan from just off the man’s front-left side, the camera whips across the brush line and catches the black figure suspended mid-leap about five feet away. The fleeing man is compressed on the right foreground edge while the black figure cuts in from the left midair with both arms reaching, the pan briefly freezing into a violent diagonal composition before impact.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "arms reaching midair",
            "character": "검은 인영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "recoiling off balance",
            "character": "한국인 남성",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "fleeing man",
              "label": "black figure leaping from brush",
              "screen_zone": "middle_left",
              "target_id": "C03",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "fleeing Korean man",
              "screen_zone": "middle_right",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "The attacker’s reveal point; branches frame the left side and appear torn open by the leap.",
            "directionality_class": "non_directional",
            "element": "side brush line",
            "orientation": "",
            "state": "dark, wet, violently disturbed"
          },
          {
            "camera_use": "Depth reference behind both bodies, emphasizing the sudden crosswise attack against the chase path.",
            "directionality_class": "non_directional",
            "element": "forest path behind the man",
            "orientation": "",
            "state": "muddy and streaked by motion blur"
          },
          {
            "camera_use": "Silhouette separation for the airborne figure.",
            "directionality_class": "non_directional",
            "element": "foggy dusk gaps between trees",
            "orientation": "",
            "state": "pale gray-green haze, unevenly lit"
          }
        ],
        "lighting_mood": "Sickly dusk backlight rims the black figure while the man’s wound flashes a sharp, wet crimson against muddy greens.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Following the flow’s dolly-in, the camera has pushed to within three feet of the Korean man’s face at slightly below eye level, now tightened until almost only his eyes, brow, and predatory cheek tension remain. The woman is only implied as a dark, soft edge at the lower frame line, while the man’s red eyes sit high center with a shallow-focus alley background collapsing behind him.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "jaw clenched forward",
            "character": "한국인 남성",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft vertical background anchor behind the close face, placing the attack beside the pole without pulling focus.",
            "directionality_class": "directional_3d",
            "element": "utility pole",
            "orientation": "Its dark rounded side faces the camera obliquely behind the man’s cheek line.",
            "state": "old, stained, partly swallowed by shadow"
          },
          {
            "camera_use": "Dim practical source that creates the alley’s sickly edge light and faint catchlight around the red eyes.",
            "directionality_class": "directional_3d",
            "element": "distant streetlamp",
            "orientation": "The lamp head is angled down the alley, seen as a hazy glow behind and above the subject.",
            "state": "on, weak, flickering slightly"
          },
          {
            "camera_use": "Compressed background texture, keeping the urban alley present but indistinct.",
            "directionality_class": "non_directional",
            "element": "wet alley wall darkness",
            "orientation": "",
            "state": "dirty, damp, green-gray in shadow"
          }
        ],
        "lighting_mood": "Weak sodium streetlight mixes with unnatural crimson eye glow, leaving the skin cold and gray with predatory red accents.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera inherits the close waist-height position beside the utility pole and completes the downward tilt, holding on the Korean woman’s limp body as it folds toward the wet pavement. Her torso fills the lower center of frame, head and arms hanging with gravity, while the pole and alley wall remain as hard verticals behind her collapse.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "limp folding downward",
            "character": "한국인 여성",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Rigid vertical reference that contrasts with the woman’s collapsing curve.",
            "directionality_class": "directional_3d",
            "element": "utility pole",
            "orientation": "The camera sees the pole’s near side and a sliver of its left edge at close range.",
            "state": "weathered, dirty, damp"
          },
          {
            "camera_use": "Catches the woman’s falling silhouette and reflects small smears of streetlight.",
            "directionality_class": "reflective_surface",
            "element": "wet alley pavement",
            "orientation": "The slick surface reflects broken yellow streetlight and the dark shape of her lowered body.",
            "state": "wet, grimy, uneven"
          },
          {
            "camera_use": "Background compression and oppressive urban texture behind the collapse.",
            "directionality_class": "non_directional",
            "element": "narrow alley wall",
            "orientation": "",
            "state": "stained, shadowed, green-gray"
          }
        ],
        "lighting_mood": "Low streetlamp spill falls from above with bruised greens and dirty amber, making the pavement shine while her body sinks into shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Perceived as local-news footage, the eye-level camera completes the flow’s push to a nearly still frontal close distance about one meter from Hyesu, isolating her face in the detective cluster. Hyesu occupies the center, looking past the lens into the crime scene, while blurred police shoulders and tape compress along both edges like a shallow broadcast frame.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "chin tensed forward",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "clipboard held low",
            "character": "한국인 경찰",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft foreground-edge barrier that keeps the viewer outside the official scene.",
            "directionality_class": "content_surface",
            "element": "police line tape",
            "orientation": "The front face with dark warning text and yellow striping crosses the blurred lower edge toward camera.",
            "state": "stretched taut, slightly dirty"
          },
          {
            "camera_use": "Background activity reduced to hazy shapes behind Hyesu’s close expression.",
            "directionality_class": "non_directional",
            "element": "crime scene work area",
            "orientation": "",
            "state": "busy but defocused, damp ground visible"
          },
          {
            "camera_use": "Broadcast realism and documentary texture around the close-up.",
            "directionality_class": "directional_3d",
            "element": "police equipment cases",
            "orientation": "Their closed rectangular sides face the camera in the background at low angle.",
            "state": "closed, scuffed, wet along the edges"
          }
        ],
        "lighting_mood": "Flat daylight is desaturated into cold coastal gray, with faint sickly green shadows and subdued news-footage contrast.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 3,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow’s locked high overhead position, the camera looks straight down with a slight offset onto the old villa rooftop room, holding completely still like an evidentiary establishing image. The rooftop room sits slightly below center within a grid of stained concrete, water tanks, and narrow neighboring roofs, making the building feel isolated despite the dense surroundings.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary architectural subject, centered in the overhead composition as the locus of unease.",
            "directionality_class": "directional_3d",
            "element": "old villa rooftop room",
            "orientation": "The camera sees the weathered roof plane and upper edges of the small structure from above, with its door side only partially readable.",
            "state": "worn, patched, damp-stained"
          },
          {
            "camera_use": "Surrounding urban texture that frames the rooftop as trapped within aging concrete.",
            "directionality_class": "non_directional",
            "element": "old villa exterior surfaces",
            "orientation": "",
            "state": "cracked, gray, mottled with water stains"
          },
          {
            "camera_use": "Scale and neighborhood context around the isolated rooftop room.",
            "directionality_class": "directional_3d",
            "element": "adjacent rooftop water tanks and railings",
            "orientation": "Their top surfaces and circular rims face the overhead camera.",
            "state": "old, still, darkened by grime"
          }
        ],
        "lighting_mood": "Overcast daylight lies flat and cold over the rooftop, washed in muted grays with a faint sea-fog green cast.",
        "perception_mode": "direct",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 4,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera holds the flow’s static frontal position directly in front of the Korean middle-aged woman at chest height, as if set just beside the television she is watching. She is centered in a medium-close frame with the TV glow implied just off lens, hands tightened into her apron while the small room’s domestic clutter falls into dim edges behind her.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "gripping apron hem",
            "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": "Off-camera light source motivating her frontal stare and tense stillness.",
            "directionality_class": "content_surface",
            "element": "television just off frame",
            "orientation": "Its image-bearing front face is aimed toward her and toward the camera position, though the screen itself sits just outside frame.",
            "state": "on, news audio low and uneven"
          },
          {
            "camera_use": "Thin daylight source that outlines steam and room dust behind her.",
            "directionality_class": "transparent_surface",
            "element": "small living-room window",
            "orientation": "The dirty glass is seen behind her at an angle, with pale daylight filtering through rather than a clear exterior view.",
            "state": "closed, dusty, sunlit through grime"
          },
          {
            "camera_use": "Domestic sound and texture behind the tense news-watching moment.",
            "directionality_class": "non_directional",
            "element": "kitchen steam from boiling pot",
            "orientation": "",
            "state": "rising in thin white plumes, slightly backlit"
          }
        ],
        "lighting_mood": "Cold TV light washes her face from the front while weak window daylight and damp green shadows keep the rooftop room uneasy and muted.",
        "perception_mode": "direct",
        "perspective": "object_pov",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Continuing the dining-table-height track from the mother’s pouring hand toward Suriyeong, the camera tightens into a close three-quarter view as she brings the cup to her mouth. The cup sits in the lower foreground at natural size, her furrowed brow and puckered discomfort centered above it, while the table and kitchen line blur behind her.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "cup at lips",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Immediate foreground action and taste cue, kept below her face without overpowering the frame.",
            "directionality_class": "directional_3d",
            "element": "herbal drink cup",
            "orientation": "The cup’s rim faces the camera at a slight diagonal as it touches her lips.",
            "state": "warm, partly full"
          },
          {
            "camera_use": "Domestic plane anchoring the table-level camera movement.",
            "directionality_class": "directional_3d",
            "element": "small dining table",
            "orientation": "The tabletop plane recedes from the lower foreground toward the kitchen side.",
            "state": "used, modest, slightly cluttered"
          },
          {
            "camera_use": "Soft background texture connecting the drink to the earlier preparation.",
            "directionality_class": "non_directional",
            "element": "kitchen sink and herbs area",
            "orientation": "",
            "state": "damp, partially cleaned, with herbs left out"
          }
        ],
        "lighting_mood": "Gentle daylight from the small window is thinned by steam and green-gray shadows, making the ordinary kitchen feel faintly medicinal and ominous.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 9,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera follows the reveal-stage dolly-in to a very close downward angle beside the Korean middle-aged woman’s arm, cropping out faces so only the wrist and the small circular mark are readable. The wrist lies in the lower-center foreground with the entrance area dissolving into soft gray behind it, turning the mark into a quiet occult clue rather than a decorative detail.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "wrist angled outward",
            "character": "한국인 중년 여성",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Korean middle-aged woman's marked wrist",
              "screen_zone": "lower_center",
              "target_id": "C08",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary focal detail; the camera isolates it as the only readable sign in the shot.",
            "directionality_class": "content_surface",
            "element": "small circular wrist mark",
            "orientation": "The camera-facing side of the wrist shows a dark, neat circle on the skin, sharply focused against the blurred room.",
            "state": "unusually clear and distinct"
          },
          {
            "camera_use": "Blurred spatial context indicating the time jump to the entrance area.",
            "directionality_class": "directional_3d",
            "element": "entrance doorframe",
            "orientation": "One inner edge of the frame faces camera obliquely in the soft background.",
            "state": "closed, worn, dim"
          },
          {
            "camera_use": "Low background texture and domestic threshold detail kept out of focus.",
            "directionality_class": "directional_3d",
            "element": "shoe area near the entrance",
            "orientation": "The top edges of shoes and floor line recede diagonally away from the wrist.",
            "state": "cluttered, everyday, softly blurred"
          }
        ],
        "lighting_mood": "A narrow strip of daylight grazes the skin while the rest falls into green-gray interior shadow, making the circular mark feel archaic and ominous.",
        "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 shot isolates only the character’s wrist and mark, with no face or full-body outlook visible. A base identity reference is enough; an outlook-specific reference could overconstrain the image.",
            "subject_id": "C08"
          }
        ]
      },
      {
        "camera_direction": "From the flow’s front-left parallel tracking position about two meters from Suriyeong, the camera travels alongside the bicycle slightly below chest height, framed wider than default to include the handlebar, bent knee, downward pedal stroke, forward-leaning torso, and hair blown back. She occupies the middle of the frame moving screen-right along the coastal road, with the ocean and guardrail sliding laterally behind her.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "downward pedal stroke",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "screen right along coastal road",
              "label": "Suriyeong riding bicycle",
              "screen_zone": "middle_center",
              "target_id": "C10",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "coastal road direction",
              "screen_zone": "middle_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Primary motion rig and body-action anchor, keeping her hands, knee, and pedal rhythm visible.",
            "directionality_class": "directional_3d",
            "element": "bicycle",
            "orientation": "The front-left side of the handlebar, frame, and pedal face the camera as they move parallel with it.",
            "state": "in motion, steady, sunlit along metal edges"
          },
          {
            "camera_use": "Horizontal tracking background that emphasizes speed and openness.",
            "directionality_class": "directional_3d",
            "element": "coastal road guardrail",
            "orientation": "The rail’s side runs diagonally behind her, sliding leftward relative to the camera.",
            "state": "weathered, pale, salt-stained"
          },
          {
            "camera_use": "Atmospheric coastal context contrasting with the previous cramped interior.",
            "directionality_class": "non_directional",
            "element": "gray sea and sea fog",
            "orientation": "",
            "state": "bright but muted, hazy, wind-brushed"
          }
        ],
        "lighting_mood": "Daylight is brighter but still desaturated coastal gray, with cool wind highlights on her hair and a faint sickly green cast in the sea haze.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 6,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At Suri-young's eye level, the camera holds even tighter than the flow default, less than 40 centimeters from her face, aligned with the rottweiler's eyeline as if trapped inside the animal's stare. Only her narrowed eyes, brow, and the damp texture of her skin occupy most of the frame, with blurred kennel bars grazing both edges and the rottweiler kept off-image but implied by her locked gaze.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "chin locked forward",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C11",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft vertical foreground edges that make her face feel caged without distracting from the eyes.",
            "directionality_class": "directional_3d",
            "element": "kennel bars",
            "orientation": "The bars are seen as narrow side-on vertical strips along the left and right frame edges.",
            "state": "wet, scratched, out of focus"
          },
          {
            "camera_use": "Background texture compressed behind her upper face.",
            "directionality_class": "non_directional",
            "element": "animal shelter concrete wall",
            "orientation": "",
            "state": "stained, damp, sickly gray-green"
          }
        ],
        "lighting_mood": "Cold fluorescent shelter light gives her eyes a hard greenish glint while the shadows under her brow stay dense and predatory.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera tracks low beside the rottweiler's rear flank, slightly below the doctor's waist height and about 60 centimeters from the injection point, lowering the frame to isolate the hand, syringe, and tensed haunch. The doctor's body is mostly cropped away at the top edge, while the dog's coarse black fur cuts diagonally through the middle of the frame against the kennel floor.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "hand pressing syringe",
            "character": "한국인 중년 남성",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "haunch tensed still",
            "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": "Gritty scale reference beneath the injection action.",
            "directionality_class": "non_directional",
            "element": "kennel concrete floor",
            "orientation": "",
            "state": "wet, muddy, scratched"
          },
          {
            "camera_use": "Blurred rear depth lines behind the dog, keeping the shelter enclosure present.",
            "directionality_class": "directional_3d",
            "element": "metal kennel partition",
            "orientation": "The partition is seen obliquely from its side, receding behind the dog's body.",
            "state": "rust-flecked, damp"
          }
        ],
        "lighting_mood": "Sickly overhead light catches the syringe with a thin silver highlight while the animal's fur falls into oily black shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 4,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only the doctor's cropped hand and forearm are visible, so a full outlook reference would not be useful for identity alignment.",
            "subject_id": "C12"
          },
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The rottweiler is framed mainly by haunch and fur texture rather than a full identifying view.",
            "subject_id": "C11"
          }
        ]
      },
      {
        "camera_direction": "Inside the mart aisle, the camera remains static at eye level between two display shelves, tightened beyond the flow's close-medium default so Suri-young's widened eyes and frozen face take over the center. Shelf lines blur into narrow corridors on both sides, pressing inward like a trap while the employees remain off-screen.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "frozen mid-turn",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Creates a tight visual corridor around her face.",
            "directionality_class": "directional_3d",
            "element": "mart display shelves",
            "orientation": "The shelf sides run away from camera on both left and right, forming parallel aisle walls.",
            "state": "crowded, fluorescent-lit, slightly out of focus"
          },
          {
            "camera_use": "Colored blur behind her that contrasts with her still expression.",
            "directionality_class": "content_surface",
            "element": "product label rows",
            "orientation": "The front label faces of boxed goods face the camera in soft focus, showing fragmented colored packaging rather than readable text.",
            "state": "neatly stocked, blurred"
          },
          {
            "camera_use": "Flat overhead source that makes the space feel ordinary but uneasy.",
            "directionality_class": "non_directional",
            "element": "fluorescent ceiling wash",
            "orientation": "",
            "state": "on, greenish-white"
          }
        ],
        "lighting_mood": "Mart fluorescents flatten her face with a stale green cast, while faint dusk-neon colors bleed softly from the aisle background.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Following the flow out of the mart, the camera slides from just behind Suri-young to her front-right side at arm's-length distance as she stops on the sidewalk. Her phone hand sits near the right side of her face, her furrowed brow is readable in three-quarter view, and the mart exterior stretches behind her with passing street color kept soft.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "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 anchor showing she has just exited the store.",
            "directionality_class": "transparent_surface",
            "element": "mart glass entrance",
            "orientation": "The glass is smudged and semi-reflective, with the lit interior shelves faintly visible through it behind her.",
            "state": "closed behind her, dirty, glowing inside"
          },
          {
            "camera_use": "Color accent behind her head and shoulder.",
            "directionality_class": "content_surface",
            "element": "mart exterior sign",
            "orientation": "The sign face is angled toward camera, showing bright Korean store lettering as blurred color blocks.",
            "state": "on, neon-bright, partially cropped"
          },
          {
            "camera_use": "Action prop that frames her anxious call without overpowering the face.",
            "directionality_class": "directional_3d",
            "element": "mobile phone",
            "orientation": "The phone's thin side edge is pressed to her ear, with its dark back partly visible to camera.",
            "state": "active call, screen not visible"
          }
        ],
        "lighting_mood": "Cool mart spill and red-blue street neon carve her profile against damp coastal evening gray, making the unanswered call feel suddenly ominous.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From a front three-quarter position about three feet from Suri-young's upper body, the camera continues dollying in while matching the bicycle's speed, lens slightly below eye level and aligned with the handlebar axis. Her clenched hands and forward-hunched torso fill the lower half, her anxious face sits above them, and her hair streams backward into the dark coastal road haze.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "hunched over handlebars",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "camera along coastal road",
              "label": "Suri-young riding bicycle",
              "screen_zone": "middle_center",
              "target_id": "C10",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "coastal road vanishing behind her",
              "screen_zone": "upper_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Streaking background that sells speed and night danger.",
            "directionality_class": "directional_3d",
            "element": "coastal road guardrail",
            "orientation": "The guardrail's side runs diagonally backward from frame right into the foggy distance.",
            "state": "wet, dark, intermittently catching light"
          },
          {
            "camera_use": "Atmospheric depth behind her head and hair.",
            "directionality_class": "non_directional",
            "element": "sea fog",
            "orientation": "",
            "state": "dense, wind-blown, gray"
          },
          {
            "camera_use": "Low moving texture beneath the bicycle.",
            "directionality_class": "non_directional",
            "element": "asphalt road surface",
            "orientation": "",
            "state": "damp, black, faintly reflective"
          }
        ],
        "lighting_mood": "A thin wash of cold moon-gray and passing sodium streetlight flashes across her face, with sickly green fog swallowing the road behind.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 9,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "On the rooftop at waist height, the camera holds still about two meters from the low wooden platform, facing the dried seokchangpo leaves as the water tank and clothesline sit in the night background. The platform occupies the lower middle of the frame without overwhelming it, while the leaves twitch and slide in the wind, establishing an eerie pause before any footsteps appear.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary still-life focus that begins the rooftop unease.",
            "directionality_class": "directional_3d",
            "element": "low wooden platform",
            "orientation": "The platform's broad top surface faces slightly upward toward camera, with its front edge visible along the lower frame.",
            "state": "old, damp, weather-darkened"
          },
          {
            "camera_use": "Small wind-driven motion cue on the platform.",
            "directionality_class": "non_directional",
            "element": "dried seokchangpo leaves",
            "orientation": "",
            "state": "dry, brittle, shifting in gusts"
          },
          {
            "camera_use": "Heavy rooftop shape in the night background.",
            "directionality_class": "directional_3d",
            "element": "water tank",
            "orientation": "The tank's curved side faces camera as a bulky dark silhouette behind the platform.",
            "state": "still, wet, unlit"
          },
          {
            "camera_use": "Sound-and-motion background detail, cutting across the empty space.",
            "directionality_class": "non_directional",
            "element": "clothesline",
            "orientation": "",
            "state": "taut, snapping lightly in wind"
          }
        ],
        "lighting_mood": "Low blue-black rooftop light and faint green spill leave the leaves as pale, dead strokes against damp wood, with crimson absent for a tense before-the-wound stillness.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Cut tight to the rooftop room window at eye level, angled so the glass shows the interior violence only as a warped reflection rather than a clear view inside. The man's reflected silhouette lunges from one side toward the middle-aged woman's shoulder, both bodies reduced to smeared black shapes within the window frame while the exterior darkness clings to the glass.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "lunging over shoulder",
            "character": "한국인 남성",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_right",
            "body_pose": "recoiling under grip",
            "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": "Main visual medium; it hides identity and turns the attack into an uncanny reflected silhouette.",
            "directionality_class": "reflective_surface",
            "element": "rooftop room window glass",
            "orientation": "The glass reflects the man's dark lunge and the woman's recoiling shoulder, mixed with faint rooftop darkness and surface grime.",
            "state": "dirty, dim, slightly warped"
          },
          {
            "camera_use": "Rigid border that traps the silhouettes in a flat ritual-like panel.",
            "directionality_class": "directional_3d",
            "element": "window frame",
            "orientation": "The frame's front edges face camera squarely, enclosing the reflected action.",
            "state": "old, chipped, damp"
          },
          {
            "camera_use": "Weak source implied inside the room, visible only through the reflected glow.",
            "directionality_class": "non_directional",
            "element": "interior lamp spill",
            "orientation": "",
            "state": "dim, unstable, yellow-green"
          }
        ],
        "lighting_mood": "Reflected black silhouettes swim in a bruised green-gray pane, with a sudden dull crimson suggestion near the woman's shoulder but no clean gore detail.",
        "perception_mode": "reflection",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 8,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The man is visible only as a distorted reflected silhouette with obscured face and body detail, so generic silhouette description is more appropriate than an outlook reference.",
            "subject_id": "C01"
          },
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The woman is also seen only as a warped reflection during the attack, with identity detail intentionally hidden by the glass.",
            "subject_id": "C08"
          }
        ]
      },
      {
        "camera_direction": "On the rooftop landing, the camera holds static at eye level about 1.2 meters in front of Suri-young and slightly to her left, tightened into a close view of her face. Her stare is fixed past the camera's right edge toward the rooftop room entrance, while the background collapses into dark, damp rooftop shapes.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "breath held rigid",
            "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 source behind her eyeline direction.",
            "directionality_class": "directional_3d",
            "element": "rooftop iron door area",
            "orientation": "The door area is only a dark oblique blur beyond her shoulder, not yet revealed frontally.",
            "state": "half-open, unlit, out of focus"
          },
          {
            "camera_use": "Hard diagonal rooftop texture at frame edge.",
            "directionality_class": "directional_3d",
            "element": "stair railing",
            "orientation": "A side rail cuts diagonally behind her at the edge of the frame.",
            "state": "cold, wet, rusted"
          },
          {
            "camera_use": "Airborne texture suggesting the foul smell and damp night.",
            "directionality_class": "non_directional",
            "element": "rooftop night haze",
            "orientation": "",
            "state": "thin, gray, stagnant"
          }
        ],
        "lighting_mood": "A low, dirty green-gray rooftop spill catches her eyes while the rest of her face sinks into tense shadow, as if the smell itself has darkened the air.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From Suri-young's eyeline, the camera is now directly in front of the rooftop room entrance at eye level, about 2.5 meters from the half-open iron door. The door is centered in a square, frontal composition, with the black interior gap occupying the middle of the frame like a wound in the wall.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "half-open rooftop iron door",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Primary reveal target, centered as the source of dread.",
            "directionality_class": "directional_3d",
            "element": "half-open iron door",
            "orientation": "The door's front face is square to camera, cracked open just enough to expose a vertical black gap.",
            "state": "half-open, dark, damp, slightly ajar"
          },
          {
            "camera_use": "Negative space beyond the door that refuses detail.",
            "directionality_class": "non_directional",
            "element": "black interior beyond doorway",
            "orientation": "",
            "state": "unlit, unreadable, still"
          },
          {
            "camera_use": "Flat plane around the door emphasizing the unnatural symmetry.",
            "directionality_class": "directional_3d",
            "element": "rooftop room exterior wall",
            "orientation": "The wall faces the camera straight-on around the centered door.",
            "state": "stained, gray, moisture-marked"
          }
        ],
        "lighting_mood": "Cold rooftop darkness frames the door in muted coastal gray, with the interior falling into absolute black and no comforting spill from inside.",
        "perception_mode": "direct",
        "perspective": "subjective_pov",
        "pov_character": "수리영",
        "scene_index": 11,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Just inside the bedroom, the camera holds at tight eye-level frontal distance, closer than two feet from Suri-young, compressing the room behind her into near-blackness. Her widened eyes, stopped breath, and rigid mouth fill the frame, while faint blurred traces of the curtain and blood-dark floor sit behind her as the unrevealed horror waits off her eyeline.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "breath caught rigid",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft background hint of what her gaze will lead to next.",
            "directionality_class": "directional_3d",
            "element": "bedroom curtain",
            "orientation": "The curtain's folded front surface faces camera in blur behind her shoulder.",
            "state": "partly drawn, shadowed, slightly stained"
          },
          {
            "camera_use": "Crimson texture compressed low in the background.",
            "directionality_class": "non_directional",
            "element": "blood-smeared floor",
            "orientation": "",
            "state": "wet, dark red, out of focus"
          },
          {
            "camera_use": "Dense negative space around her face.",
            "directionality_class": "non_directional",
            "element": "dark bedroom interior",
            "orientation": "",
            "state": "unlit, cramped, damp"
          }
        ],
        "lighting_mood": "A weak greenish room spill and faint TV-like flicker scrape across her frozen face, while deep shadows swallow the background with sharp, sick crimson traces below.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From a low eye-level position just inside the freshly drawn curtain line, the camera holds almost still about six feet from the floor where 한국인 중년 여성 sits collapsed in the midground, framed through the damp curtain gap like a discovered shrine. The lens faces slightly downward; the parted fabric hangs as dark blurred verticals on both edges while her bowed head and blood-streaked floor occupy the lower center of the frame.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "slumped seated on floor",
            "character": "한국인 중년 여성",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Foreground veil and reveal frame around the seated body.",
            "directionality_class": "transparent_surface",
            "element": "parted curtain",
            "orientation": "The damp curtain panels are pulled aside just enough for the camera to see the body and floor through the opening.",
            "state": "parted, damp-looking, heavy in shadow"
          },
          {
            "camera_use": "Leads the eye from the room into the discovered body.",
            "directionality_class": "non_directional",
            "element": "blood-marked floor",
            "orientation": "",
            "state": "wet-looking streaks and footprints, dark red against muted gray floor"
          },
          {
            "camera_use": "Background spatial reference behind the body.",
            "directionality_class": "directional_3d",
            "element": "bed edge",
            "orientation": "The foot-side edge of the bed faces the camera at a shallow angle behind the seated figure.",
            "state": "dim, still, partially obscured"
          }
        ],
        "lighting_mood": "Low, sickly green-gray room light is cut by a dull crimson sheen on the blood, with the curtain swallowing most highlights into dense shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Locked near the foot of the bed, slightly below eye level, the camera aims upward at the dark wall above the mattress after the red circle has fully appeared. The mark sits just above frame center, with only the top edge of the bed in the lower strip for scale, making the image feel like an occult evidence plate rather than a dramatic push-in.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary focal surface where the supernatural sign has settled.",
            "directionality_class": "content_surface",
            "element": "dark wall above the bed",
            "orientation": "The camera-facing wall plane shows a fresh crimson circular mark centered on the visible surface.",
            "state": "dark, stained-looking, otherwise bare"
          },
          {
            "camera_use": "Lower frame anchor that locates the mark over the bed.",
            "directionality_class": "directional_3d",
            "element": "bed top edge",
            "orientation": "The upper surface and foot-side edge are visible along the lower frame, receding away from camera.",
            "state": "dim, undisturbed"
          },
          {
            "camera_use": "Textural haze around the wall and bed.",
            "directionality_class": "non_directional",
            "element": "room shadow and damp air",
            "orientation": "",
            "state": "still, murky, low contrast"
          }
        ],
        "lighting_mood": "A cold gray-green darkness surrounds the wall while the crimson circle reads unnaturally saturated, as if the color is emitting dread without casting real light.",
        "perception_mode": "hallucination",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 16,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At eye level in the alley, the camera holds eight feet in front of 혜수 in a rare head-on confrontation, catching the exact instant before she runs. She occupies the center third from chest up, with wet darkness and the pulsing police car glow flattening the background behind her like a warning signal.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "weight caught forward",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C10",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Color wash and rhythmic background threat.",
            "directionality_class": "directional_3d",
            "element": "police car light source",
            "orientation": "The car is off to the rear side, with its flashing red light casting across 혜수's face and the alley wall.",
            "state": "on, flashing red"
          },
          {
            "camera_use": "Reflects siren light below the subject.",
            "directionality_class": "reflective_surface",
            "element": "wet alley pavement",
            "orientation": "The pavement reflects broken red police-light streaks beneath 혜수 and behind her.",
            "state": "wet, uneven, dark"
          },
          {
            "camera_use": "Depth frame behind the frontal figure.",
            "directionality_class": "directional_3d",
            "element": "narrow alley walls",
            "orientation": "Both side walls recede behind 혜수, compressing her in the center of the passage.",
            "state": "dark, damp, grimy"
          }
        ],
        "lighting_mood": "Hard red police strobes rake across a muted coastal-gray alley, briefly carving 혜수's shocked eyes out of the surrounding black.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Beside the rooftop stair base at chest height, the camera tracks into a tight side three-quarter chest-up view of 수리영, close enough that her unfocused eyes and lifted chin carry the frame. 혜수's shoulder and jawline remain soft in the near foreground edge, placing the question right in front of 수리영 without breaking the flow toward the stairs.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "frozen mid-breath",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C07",
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "leaning in urgently",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C10",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "Suriyeong at stair base",
              "label": "Hyesu foreground shoulder",
              "screen_zone": "middle_left",
              "target_id": "C07",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Suriyeong by stairs",
              "screen_zone": "middle_center",
              "target_id": "C10",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Vertical pressure behind 수리영's confession.",
            "directionality_class": "directional_3d",
            "element": "rooftop stair base",
            "orientation": "The lower steps angle upward behind 수리영, pulling the background toward the unseen rooftop room.",
            "state": "dark, concrete, damp"
          },
          {
            "camera_use": "Background alarm color spilling into the side close-up.",
            "directionality_class": "reflective_surface",
            "element": "wet stair rail",
            "orientation": "The rail catches faint red police flashes as thin broken highlights beside the characters.",
            "state": "wet, cold, dimly reflective"
          },
          {
            "camera_use": "Soft obscuring atmosphere around the figures.",
            "directionality_class": "non_directional",
            "element": "coastal night fog",
            "orientation": "",
            "state": "thin, drifting, gray"
          }
        ],
        "lighting_mood": "Red siren pulses skim over cold blue-gray shadows, leaving 수리영's face pale and hollow while 혜수 stays warmer but blurred at the edge.",
        "perception_mode": "direct",
        "perspective": "over_shoulder",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside 수리영's room near the foot of the bed, the dolly-in ends in a tight shoulder-height close-up two feet from 수리영's pale face, held in three-quarter profile. The empty curtain sits only as a soft off-axis presence beyond her eyeline, while her parted mouth and fixed pupils occupy the right-center of the frame.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "neck craned toward curtain",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "empty curtain",
              "label": "Suriyeong face",
              "screen_zone": "middle_right",
              "target_id": "C10",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "empty curtain area",
              "screen_zone": "middle_left",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Off-axis eyeline anchor showing where the body should have been.",
            "directionality_class": "transparent_surface",
            "element": "empty curtain opening",
            "orientation": "The curtain gap is visible in soft focus, showing only clean darkness and wall beyond instead of a body.",
            "state": "parted, clean, motionless"
          },
          {
            "camera_use": "Contradicts the previous blood trail by its absence.",
            "directionality_class": "non_directional",
            "element": "clean room floor",
            "orientation": "",
            "state": "dry, spotless, unnaturally orderly"
          },
          {
            "camera_use": "Background negative evidence where the red sign should be.",
            "directionality_class": "content_surface",
            "element": "bare wall above bed",
            "orientation": "The camera-facing wall surface is visible behind her eyeline with no crimson mark on it.",
            "state": "blank, clean, dim"
          }
        ],
        "lighting_mood": "The room is lit in washed-out green-gray practical spill, making 수리영's face chalky while the vanished evidence sinks into sterile shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Beside the dining table at 수리영's shoulder height, the static camera looks slightly upward past her blurred foreground shoulder toward 김형사's irritated face. 김형사 fills the upper center in a compressed medium close view, his downward glare aimed just below lens level so the accusation lands on 수리영 rather than the viewer.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning over table edge",
            "character": "김형사",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C10",
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "shrinking beside table",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Foreground plane separating accuser and accused.",
            "directionality_class": "directional_3d",
            "element": "clean dining table",
            "orientation": "The table edge cuts across the lower frame, its near side facing the camera beside 수리영.",
            "state": "spotless, empty-looking"
          },
          {
            "camera_use": "Negative evidence where the teacups had been.",
            "directionality_class": "non_directional",
            "element": "bare tabletop surface",
            "orientation": "",
            "state": "clean, dry, no cups visible"
          },
          {
            "camera_use": "Exit path for the next pan toward 혜수.",
            "directionality_class": "directional_3d",
            "element": "apartment doorway",
            "orientation": "The doorway stands behind 김형사 at a side angle, opening toward the dim hall.",
            "state": "open, shadowed"
          }
        ],
        "lighting_mood": "Flat apartment practical light mixes with sick green shadows, sharpening 김형사's brow while leaving 수리영 muted and small in the foreground.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At seated eye level just off 수리영's front-left side, the push-in stops the instant 혜수's hand thrusts a cold canned drink into the near foreground, the can taking the lower center without exceeding natural scale. 수리영's confused face remains beyond it in shallow focus on the bench, while 혜수's partial arm enters from the left edge like an abrupt interruption.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "perched on bus bench",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_object",
            "gaze_target_id": "P01",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "arm extended with can",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C10",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "cold canned drink",
              "screen_zone": "lower_center",
              "target_id": "P01",
              "target_kind": "prop"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "cold canned drink",
              "label": "Suriyeong on bench",
              "screen_zone": "middle_center",
              "target_id": "C10",
              "target_kind": "character"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Immediate foreground interruption and focus point.",
            "directionality_class": "directional_3d",
            "element": "cold canned drink",
            "orientation": "The cylindrical side faces camera at a slight diagonal, with condensation catching the bus-stop light.",
            "state": "cold, wet with condensation, held still"
          },
          {
            "camera_use": "Holds 수리영 in a vulnerable seated line.",
            "directionality_class": "directional_3d",
            "element": "bus stop bench",
            "orientation": "The bench seat runs horizontally behind the can, with 수리영 perched along its front edge.",
            "state": "damp, dark, worn"
          },
          {
            "camera_use": "Soft distant emotional void behind the characters.",
            "directionality_class": "non_directional",
            "element": "foggy coastal darkness",
            "orientation": "",
            "state": "muted gray, misty, low visibility"
          }
        ],
        "lighting_mood": "Cold bus-stop spill and sea fog desaturate the scene, with tiny silver highlights on the can and faint sickly green shadows under 수리영's eyes.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 2,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Hyesu is represented mainly by an outstretched hand and partial arm; a full outlook reference would over-specify what should remain cropped and functional.",
            "subject_id": "C07"
          }
        ]
      },
      {
        "camera_direction": "From a hidden low position inside the roadside bushes, the camera stays locked at about 1.2 meters high, with dark leaves and branches partially masking the top and side edges of the lens. Across the road, 수리영 and 혜수 appear as small distant figures near the bus stop, watched without movement as if the frame itself is holding its breath.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "starting into a run",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_right",
            "body_pose": "calling after her",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C10",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "dark concealing bushes",
              "screen_zone": "middle_left",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "moves_toward",
              "gesture_target_label": "road away from bus stop",
              "label": "Suriyeong distant figure",
              "screen_zone": "middle_center",
              "target_id": "C10",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "looks_toward",
              "gesture_target_label": "Suriyeong",
              "label": "Hyesu distant figure",
              "screen_zone": "middle_right",
              "target_id": "C07",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Concealment layer that defines the watching perspective.",
            "directionality_class": "non_directional",
            "element": "roadside bushes",
            "orientation": "",
            "state": "dark, wet, partially blocking lens"
          },
          {
            "camera_use": "Distant location anchor for the two small figures.",
            "directionality_class": "directional_3d",
            "element": "bus stop shelter",
            "orientation": "The shelter is seen from across the road, its open front facing slightly away from camera.",
            "state": "dim, empty-looking, damp"
          },
          {
            "camera_use": "Reflective strip separating watcher and subjects.",
            "directionality_class": "reflective_surface",
            "element": "wet coastal road",
            "orientation": "The road reflects faint gray sky and bus-stop light between the bushes and the figures.",
            "state": "wet, dark, quiet"
          }
        ],
        "lighting_mood": "Pre-dawn coastal gray and dirty green shadows flatten the distance, while the foreground foliage falls nearly black, turning the view into a predatory surveillance frame.",
        "perception_mode": "direct",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Tight at the desk line, eye level dipping slightly below, the dolly-in finishes with 혜수's outstretched hand and phone screen pushed close to the lens line in the foreground. 김형사's face is compressed just beyond the phone in the midground, forced to read the screen while 혜수's arm forms a hard diagonal from the left edge into the center.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "arm locked forward",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C16",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning back from phone",
            "character": "김형사",
            "gaze_direction_kind": "looks_at_object",
            "gaze_target_id": "P02",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Hyesu phone screen",
              "screen_zone": "middle_center",
              "target_id": "P02",
              "target_kind": "prop"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "phone screen",
              "label": "Detective Kim face",
              "screen_zone": "middle_right",
              "target_id": "C16",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "reaches_for",
              "gesture_target_label": "Detective Kim's face line",
              "label": "Hyesu extended arm",
              "screen_zone": "middle_left",
              "target_id": "C07",
              "target_kind": "character"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary confrontation object held between the two characters.",
            "directionality_class": "content_surface",
            "element": "mobile phone screen",
            "orientation": "The lit front face of the phone is angled toward camera and 김형사, showing the saved contact information.",
            "state": "on, held very close, steady"
          },
          {
            "camera_use": "Workspace barrier and depth line.",
            "directionality_class": "directional_3d",
            "element": "detective desk edge",
            "orientation": "The desk front edge runs across the lower frame between 혜수 and 김형사.",
            "state": "cluttered but dim, duty-room worn"
          },
          {
            "camera_use": "Institutional background texture.",
            "directionality_class": "content_surface",
            "element": "office notice board",
            "orientation": "The camera-facing board surface carries indistinct papers and notices behind 김형사.",
            "state": "lit weakly, cluttered, out of focus"
          }
        ],
        "lighting_mood": "Cold fluorescent office light drains the room to gray-green, while the phone screen adds a small hard glow against 김형사's tense face.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 3,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Hyesu is mainly identified through her extended arm and hand holding the phone, so a full outlook reference is not necessary for this cropped confrontation shot.",
            "subject_id": "C07"
          }
        ]
      },
      {
        "camera_direction": "At wall-top height, the camera holds almost motionless about 1.5 meters behind and to the side of 검은 고양이, aligned so the lit rooftop room window sits in the direction of its turned head. The cat's dark body forms a sharp side silhouette on the lower third, while the glowing window hangs higher in the background through dawn fog.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "paws braced on wall",
            "character": "검은 고양이",
            "gaze_direction_kind": "looks_at_object",
            "gaze_target_id": "B01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "lit rooftop window",
              "label": "black cat on wall",
              "screen_zone": "lower_left",
              "target_id": "C17",
              "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": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Perch line and movement path for the cat.",
            "directionality_class": "directional_3d",
            "element": "wall top",
            "orientation": "The narrow top plane of the wall runs diagonally away from camera beneath the cat's paws.",
            "state": "cold, damp, rough concrete"
          },
          {
            "camera_use": "Eyeline anchor and ominous destination.",
            "directionality_class": "transparent_surface",
            "element": "lit rooftop room window",
            "orientation": "The glass is lit from inside; the camera sees a yellow-green glow through the pane rather than clear interior detail.",
            "state": "closed, glowing, slightly dirty"
          },
          {
            "camera_use": "Atmospheric veil between cat and room.",
            "directionality_class": "non_directional",
            "element": "dawn fog",
            "orientation": "",
            "state": "thin, coastal gray, still"
          }
        ],
        "lighting_mood": "Blue-gray dawn fog keeps the exterior muted while the window burns a sick yellow-green, cutting a faint rim along the black cat's ears and back.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 17,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the low bedroom-floor position beside the bed, the lens is pushed into a tighter-than-baseline facial close-up, angled slightly upward from the mattress edge so 수리영’s chin lift feels sudden and exposed. Her face occupies most of the right-center frame, with the mattress edge cutting across the lower foreground and only a smear of damp gray bedding visible behind her; this is an objective direct view, not her POV.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "head jerking upward",
            "character": "수리영",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft lower-foreground edge that anchors the low floor perspective.",
            "directionality_class": "directional_3d",
            "element": "mattress edge",
            "orientation": "The side seam of the mattress faces the camera from below, creating a hard horizontal boundary under her face.",
            "state": "rumpled and dimly lit"
          },
          {
            "camera_use": "Dark negative space behind her head, keeping the room unreadable.",
            "directionality_class": "non_directional",
            "element": "bedroom wall shadow",
            "orientation": "",
            "state": "muted gray-green, low contrast"
          },
          {
            "camera_use": "Damp texture beneath the camera height, adding grounded realism.",
            "directionality_class": "non_directional",
            "element": "bedroom floor",
            "orientation": "",
            "state": "dull and slightly dusty"
          }
        ],
        "lighting_mood": "Low sickly green-gray dawn light grazes her pale skin, with a faint crimson warmth caught only in the eye moisture for occult unease.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Fixed at sink height directly facing the bathroom mirror, the composition flattens into the reflected tile wall so the hallucinated crimson circle sits cleanly in the middle of the mirror image. 수리영 is excluded; the mirror frame and sink edge only lightly bracket the lower and side margins, making the red mark feel like an archaic sign burned onto a false surface.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "hallucinated red circular mark in mirror reflection",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary viewing plane; the shot is seen as a flattened mirror image rather than direct bathroom space.",
            "directionality_class": "reflective_surface",
            "element": "bathroom mirror",
            "orientation": "The mirror reflects the tiled wall behind the camera line, including a red circular hallucinated mark that is not present on the real wall.",
            "state": "slightly fogged, water-speckled, cold"
          },
          {
            "camera_use": "Reflected background plane where the apparition appears.",
            "directionality_class": "content_surface",
            "element": "reflected bathroom tile wall",
            "orientation": "The tile face visible inside the mirror carries the clear crimson circular mark across several tiles.",
            "state": "pale, damp, unnaturally still"
          },
          {
            "camera_use": "Thin lower frame cue that locates the camera at sink height without distracting from the mark.",
            "directionality_class": "directional_3d",
            "element": "sink rim",
            "orientation": "The upper lip of the sink faces the camera as a narrow off-white band at the bottom edge.",
            "state": "wet with scattered droplets"
          }
        ],
        "lighting_mood": "Cold bathroom light is drained toward gray-green, while the red circle cuts through the reflection with sharp, sickly saturation.",
        "perception_mode": "hallucination",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 11,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At dining-table height, the lens is almost parallel to the framed photograph and completes the dolly-in until the picture plane becomes a near-abstract close image. The distorted smiling face of 한국인 중년 여성 fills the center with only a thin strip of photo border and tabletop left as scale reference, emphasizing that this horror is trapped inside a flat printed surface.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "printed face melting",
            "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 content surface; the hallucination is read as deformation of the printed image.",
            "directionality_class": "content_surface",
            "element": "framed family photograph",
            "orientation": "The front face of the photograph is square to the lens, showing the mother’s smiling portrait grotesquely smeared and half-melted downward.",
            "state": "clean frame, image supernaturally warped"
          },
          {
            "camera_use": "Thin reflective glints that make the photo feel physically present despite the hallucination.",
            "directionality_class": "reflective_surface",
            "element": "photo glass",
            "orientation": "The glass catches a dim streak of living-room light while still revealing the corrupted face underneath.",
            "state": "slightly dusty, faintly reflective"
          },
          {
            "camera_use": "Low horizontal base beneath the frame, preserving realistic scale.",
            "directionality_class": "directional_3d",
            "element": "dining table surface",
            "orientation": "The tabletop runs flat away from the camera, visible only as a narrow dark band below the photograph.",
            "state": "dark wood, damp-looking sheen"
          }
        ],
        "lighting_mood": "A muted coastal-gray room tone surrounds the photo, but the melted facial shadows carry bruised greens and tiny crimson smears like corrupted blood pigment.",
        "perception_mode": "hallucination",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 16,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The subject appears only as a distorted flat photograph rather than a physically present person, so a base identity reference is needed without relying on a normal outlook match.",
            "subject_id": "C08"
          }
        ]
      },
      {
        "camera_direction": "Inside the market aisle at 수리영’s left shoulder height, the camera holds a tight side-profile close-up while 남자 직원 remains mostly as a blurred shoulder and cheek at the far right edge. 수리영’s eye line forms a hard horizontal line across the shelves toward him, isolating her interrogation in the otherwise quiet morning aisle.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "leaning forward tense",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C15",
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "paused beside shelf",
            "character": "남자 직원",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C10",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Compressed aisle texture behind her profile, giving a mundane space an oppressive rhythm.",
            "directionality_class": "directional_3d",
            "element": "market shelves",
            "orientation": "Shelf fronts recede diagonally behind 수리영, their product faces partially turned toward camera in soft focus.",
            "state": "orderly, sparsely stocked"
          },
          {
            "camera_use": "Cool overhead source that keeps the scene realistic and drained.",
            "directionality_class": "directional_3d",
            "element": "fluorescent ceiling strip",
            "orientation": "The underside of the strip light runs lengthwise above the aisle, just out of sharp focus.",
            "state": "on, cold and faintly flickering"
          },
          {
            "camera_use": "Narrow aisle depth that traps the two-person exchange.",
            "directionality_class": "non_directional",
            "element": "empty market aisle air",
            "orientation": "",
            "state": "quiet, early-morning stillness"
          }
        ],
        "lighting_mood": "Washed fluorescent gray-green light flattens skin tones, with tiny red packaging accents flickering in the blurred shelf line.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Outside the market, the camera stays waist-high behind 수리영 and 남자 직원, about eight feet back, holding wider so their backs sit in the lower frame while the building corner and CCTV occupy the upper right. The slight upward tilt is already settled, letting their shared gaze create a diagonal from their shoulders to the camera above.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "neck craned upward",
            "character": "수리영",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "hands on hips",
            "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": "upper-corner CCTV camera",
              "label": "수리영",
              "screen_zone": "lower_left",
              "target_id": "C10",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "upper-corner CCTV camera",
              "label": "남자 직원",
              "screen_zone": "lower_right",
              "target_id": "C15",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "upper-corner CCTV camera",
              "screen_zone": "upper_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary target of their upward gaze.",
            "directionality_class": "directional_3d",
            "element": "CCTV camera on building corner",
            "orientation": "The camera housing juts outward from the upper corner, its dark lens angled down toward the sidewalk and partially toward the viewer.",
            "state": "mounted, inactive-looking but ominous"
          },
          {
            "camera_use": "Strong architectural diagonal guiding the eye upward.",
            "directionality_class": "directional_3d",
            "element": "market exterior corner",
            "orientation": "Two exterior wall planes meet in a vertical seam, with the corner facing slightly toward camera.",
            "state": "weathered, gray, damp"
          },
          {
            "camera_use": "Grounding lower-plane texture beneath the two figures.",
            "directionality_class": "non_directional",
            "element": "sidewalk and road edge",
            "orientation": "",
            "state": "dull, early-morning wetness"
          },
          {
            "camera_use": "Contextual surface identifying the storefront without overpowering the CCTV.",
            "directionality_class": "content_surface",
            "element": "market exterior sign",
            "orientation": "The sign face is angled obliquely to camera, with muted lettering partially visible along the wall.",
            "state": "on but weak in daylight"
          }
        ],
        "lighting_mood": "Overcast coastal daylight keeps the façade gray and flat, while the CCTV lens reads as a small black-green void above them.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From beside the monitor corner at standing chest height, the frame looks back across the soft seated shoulders of 한국인 남성 보안직원 and 혜수 toward 수리영 behind them. The camera is completely locked; 수리영 occupies the center background with clenched hands near her chest and her torso pitched forward, while the two seated figures form blurred lower-left and lower-right foreground blocks.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "clenched hands leaning",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "hunched at keyboard",
            "character": "한국인 남성 보안직원",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "perched forward listening",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "한국인 남성 보안직원",
              "screen_zone": "lower_left",
              "target_id": "C18",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "혜수",
              "screen_zone": "lower_right",
              "target_id": "C07",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영",
              "screen_zone": "middle_center",
              "target_id": "C10",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Off-axis light source and narrative focus, partly visible at the frame edge.",
            "directionality_class": "content_surface",
            "element": "CCTV review monitor",
            "orientation": "The glowing front face is angled away from the camera toward the seated pair, showing only a sliver of dark video and spill light.",
            "state": "on, image too dark to read clearly"
          },
          {
            "camera_use": "Foreground surface supporting hands, keyboard, and monitor, adding cramped office pressure.",
            "directionality_class": "directional_3d",
            "element": "security office desk",
            "orientation": "The desk edge runs diagonally across the lower frame between camera and the seated figures.",
            "state": "cluttered but functional"
          },
          {
            "camera_use": "Tight background boundary behind 수리영.",
            "directionality_class": "directional_3d",
            "element": "general affairs office wall",
            "orientation": "The flat wall faces camera behind 수리영, broken by dull paperwork and cables.",
            "state": "stained, fluorescent-lit"
          },
          {
            "camera_use": "Peripheral practical light emphasizing institutional blandness.",
            "directionality_class": "directional_3d",
            "element": "ceiling fluorescent panel",
            "orientation": "The panel underside faces down into the room and creates a hard top wash.",
            "state": "on, harsh"
          }
        ],
        "lighting_mood": "The monitor throws a weak blue-gray glow into a greenish fluorescent room, leaving crimson UI flecks as the only sharp color accents.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Directly in front of 수리영 at eye level, the dolly-in lands in a locked close-up at roughly sixty centimeters, compressing her face into the center of the frame. Her widened eyes and hand clamped over her mouth take up most of the image, while the police office behind her dissolves into soft gray shapes and unreadable crime-photo rectangles.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "hand clamped mouth",
            "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": "수리영",
              "screen_zone": "middle_center",
              "target_id": "C10",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Blurred source of her shock, visible only as disturbing rectangular patches.",
            "directionality_class": "content_surface",
            "element": "homicide photographs on desk",
            "orientation": "The photo faces lie upward on the desk behind and below her sightline, but remain out of focus with only pale flesh tones and dark wounds implied.",
            "state": "scattered, partially overlapping"
          },
          {
            "camera_use": "Institutional depth behind her head, softened to isolate the face.",
            "directionality_class": "directional_3d",
            "element": "police office desks",
            "orientation": "Desk edges and partitions face the camera at shallow angles in the background blur.",
            "state": "messy, unattended"
          },
          {
            "camera_use": "Cold public-office source contrasting her private terror.",
            "directionality_class": "directional_3d",
            "element": "overhead fluorescent lights",
            "orientation": "The undersides of the fixtures cast a flat top light from above frame.",
            "state": "on, sterile"
          }
        ],
        "lighting_mood": "A hard fluorescent gray-green wash drains her face pale, with muted crimson traces from the blurred photographs bleeding softly behind her.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Side-on at upper-torso height beside the aisle between desks, the camera tracks parallel to 수리영’s escape path but freezes the moment as she slides a folded note halfway into her jumper pocket. Her torso fills the middle of the frame in profile, her head twisted back over her shoulder toward the empty office behind, with the door direction kept just outside the forward edge.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "tucking note pocket",
            "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": "Narrow corridor-like negative space suggesting her route out.",
            "directionality_class": "directional_3d",
            "element": "aisle between police desks",
            "orientation": "Desk sides run parallel to the camera axis, creating a channel behind and ahead of her.",
            "state": "empty, tense"
          },
          {
            "camera_use": "Background escape cue without bringing in unnecessary traffic.",
            "directionality_class": "directional_3d",
            "element": "office doorway edge",
            "orientation": "The doorframe is seen obliquely near the side background, aligned with her intended exit path.",
            "state": "open, unattended"
          },
          {
            "camera_use": "Dim institutional clutter that can hide her small movement.",
            "directionality_class": "content_surface",
            "element": "paperwork pinned on partitions",
            "orientation": "The visible paper faces are turned partly toward camera but too blurred to read.",
            "state": "messy, pale under fluorescent light"
          },
          {
            "camera_use": "Small background alert source already acted upon.",
            "directionality_class": "content_surface",
            "element": "detective’s computer monitor",
            "orientation": "The front screen face is angled away in the background, its location-result glow now soft and unreadable.",
            "state": "on, unattended"
          }
        ],
        "lighting_mood": "Flat police-station fluorescents leave her in gray-green half-shadow, with the hidden paper catching a dry white glint against her dark pocket.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From a high front-left oblique position above the road, the locked-off frame holds 수리영 and the bicycle full-body in a downward wide composition. She is lifted off the saddle in the lower-center frame, driving one pedal down hard while the police-station frontage sits behind her as a flat gray block; the shot waits for the force before releasing into motion afterward.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "off-saddle pedaling",
            "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": "road ahead to frame right",
              "label": "수리영 on bicycle",
              "screen_zone": "middle_center",
              "target_id": "C10",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Movement vehicle and body-force amplifier within the full-body frame.",
            "directionality_class": "directional_3d",
            "element": "bicycle",
            "orientation": "The bicycle is seen from a high front-left angle, front wheel angled slightly toward the road ahead.",
            "state": "in motion, pedals under force"
          },
          {
            "camera_use": "Institutional origin point behind her departure.",
            "directionality_class": "directional_3d",
            "element": "police station façade",
            "orientation": "The front wall and entrance face camera from the upper background, flattened by the high angle.",
            "state": "gray, official, damp-looking"
          },
          {
            "camera_use": "Main graphic plane emphasizing speed and direction.",
            "directionality_class": "non_directional",
            "element": "road surface",
            "orientation": "",
            "state": "muted asphalt, lightly wet"
          },
          {
            "camera_use": "Static contrast to her sudden acceleration.",
            "directionality_class": "directional_3d",
            "element": "curb line",
            "orientation": "The curb cuts diagonally across the lower frame, marking the road edge beneath the bicycle.",
            "state": "hard, pale concrete"
          }
        ],
        "lighting_mood": "Overcast daylight renders the street in cold coastal grays, with only small red brake or signage accents puncturing the drained palette.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 22,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At seated eye level directly in front of 수리영, the camera holds the midpoint of a slow dolly-in as a frontal upper-body composition, positioned just beyond or above the monitor line. The bright screen glow rises from the lower foreground onto her face while the PC café recedes into dark booth silhouettes, making her stare feel pinned to something just below the lens rather than to the viewer.",
        "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": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Primary light source and unseen object of attention at the lower foreground edge.",
            "directionality_class": "content_surface",
            "element": "PC monitor",
            "orientation": "The screen face is turned toward 수리영 and only its lower glow and edge are visible to camera, implying map content without showing it directly.",
            "state": "on, bright blue-white"
          },
          {
            "camera_use": "Dark side walls enclosing her concentration.",
            "directionality_class": "directional_3d",
            "element": "PC café booth dividers",
            "orientation": "The divider sides face inward toward 수리영, forming vertical dark bands on both sides of the frame.",
            "state": "scuffed, shadowed"
          },
          {
            "camera_use": "Desk-level continuation toward the later map-printing action.",
            "directionality_class": "directional_3d",
            "element": "computer desk surface",
            "orientation": "The desk top runs horizontally across the lower foreground beneath the monitor edge.",
            "state": "worn, cluttered with keyboard and papers"
          },
          {
            "camera_use": "Background points of electronic depth without distracting from her face.",
            "directionality_class": "content_surface",
            "element": "distant idle monitors",
            "orientation": "Their screen faces are angled irregularly in the background, showing dim abstract light patches.",
            "state": "on, unfocused"
          }
        ],
        "lighting_mood": "The monitor casts a cold blue-green pallor over her face while the surrounding café sinks into gritty black-gray, with tiny crimson interface flecks barely visible below frame.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 23,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow's close rear pursuit path, the camera tracks less than two meters behind 수리영 at shoulder-to-handlebar height, raised slightly to compress her soaked upper back, hunched neck, and both hands clamped around the bicycle grips. She sits centered in the lower half of frame, the handlebars cutting a wet horizontal line across the foreground while the coastal road narrows ahead and storm clouds with a hard flash of lightning remain visible above her.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "leaning over handlebars",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Streaking background corridor that amplifies speed behind the bicycle.",
            "directionality_class": "directional_3d",
            "element": "rain-slick coastal road",
            "orientation": "The road surface recedes away from camera beneath 수리영, its wet center line leading into the storm.",
            "state": "soaked, dark, nearly empty"
          },
          {
            "camera_use": "High background threat kept visible above her back.",
            "directionality_class": "non_directional",
            "element": "black storm clouds",
            "orientation": "",
            "state": "dense and low over the coast"
          },
          {
            "camera_use": "Sharp crimson-white accent flash outlining rain and shoulders.",
            "directionality_class": "non_directional",
            "element": "lightning over the sea road",
            "orientation": "",
            "state": "briefly flaring through the cloud bank"
          },
          {
            "camera_use": "Foreground mechanical frame and motion reference.",
            "directionality_class": "directional_3d",
            "element": "bicycle handlebars",
            "orientation": "The rear-facing side of the bars and brake cables angle away from camera under her clenched hands.",
            "state": "wet, vibrating with speed"
          }
        ],
        "lighting_mood": "Low coastal-gray storm light is cut by cold lightning flashes, with rain highlights turning sickly green-gray against her blackened wet clothes.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 24,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Maintaining the flow's position just inside the entrance, the lens faces 수리영 at eye level but tightens to a close upper-body frame so her drenched hair, widened eyes, and open mouth occupy the center. The ruined living room sits soft behind her shoulders, with only broken shapes of overturned furniture and the open window bleeding into the edges.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "frozen at threshold",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft background evidence of intrusion behind her face.",
            "directionality_class": "transparent_surface",
            "element": "open living-room window",
            "orientation": "The open frame is blurred behind her, letting dim dusk and damp air into the room.",
            "state": "open, rain-dulled"
          },
          {
            "camera_use": "Defocused disorder framing her shock at both sides.",
            "directionality_class": "directional_3d",
            "element": "overturned dining chairs",
            "orientation": "Chair legs and backs face different directions in the background, visible as skewed silhouettes.",
            "state": "knocked over"
          },
          {
            "camera_use": "Texture of violation behind the close reaction.",
            "directionality_class": "non_directional",
            "element": "scattered household items",
            "orientation": "",
            "state": "strewn across the floor"
          },
          {
            "camera_use": "Dark side border that marks the threshold she has not crossed emotionally.",
            "directionality_class": "directional_3d",
            "element": "entrance doorway",
            "orientation": "The inside edge of the doorframe runs along one side of the shot, facing the camera obliquely.",
            "state": "open"
          }
        ],
        "lighting_mood": "Dusk light from the open window mixes with a weak greenish interior cast, leaving her wet face pale and the background bruised gray.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The dolly-in from the bedroom wall resolves into an extreme close insert: the red circle sits cropped by the frame edges, and the blood-stained old photograph is pinned dead center like a ritual blade. The camera is at chest height and nearly flat to the wall, excluding 수리영 completely so the cracked paper, pin pressure, and wet red smears become the only readable evidence.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary occult mark enclosing the photograph.",
            "directionality_class": "content_surface",
            "element": "bedroom wall with red circle",
            "orientation": "The marked face of the wall is square to camera, showing a rough crimson circle painted around the photograph.",
            "state": "dirty, damp-looking, freshly marked"
          },
          {
            "camera_use": "Central focal evidence and transition point toward memory.",
            "directionality_class": "content_surface",
            "element": "blood-stained old photograph",
            "orientation": "The printed front face is visible to camera, crumpled and smeared with blood, pinned at the circle's center.",
            "state": "wrinkled, aged, bloodied, pierced"
          },
          {
            "camera_use": "Small violent fixing point that makes the photo feel stabbed into the wall.",
            "directionality_class": "directional_3d",
            "element": "pin or blade-like fastener",
            "orientation": "Its head or edge faces camera from the photograph center, projecting slightly out of the wall.",
            "state": "embedded, darkened with moisture"
          }
        ],
        "lighting_mood": "A low, sickly green-gray room tone is interrupted by the raw crimson of the circle and blood, making the wall feel damp and ritual-contaminated.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the low wet-rock position in the flow, the camera pushes into 수리영's lap until the phone screen becomes the central luminous surface, held within the damp rim of her hand rather than overwhelming the whole image. The notification for 혜수's repeated missed calls glows in the lower-middle of frame, with the black rock texture and a sliver of her wet fingers preserving scale around the device.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "phone cupped in hand",
            "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": "phone screen in Suriyeong's hand",
              "screen_zone": "middle_center",
              "target_id": "P01",
              "target_kind": "prop"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary content surface carrying the missed-call information.",
            "directionality_class": "content_surface",
            "element": "glowing phone screen",
            "orientation": "The front screen faces camera at a slight diagonal, showing multiple missed-call alerts from 혜수.",
            "state": "on, wet-speckled, bright against dusk"
          },
          {
            "camera_use": "Dark tactile border around the device.",
            "directionality_class": "non_directional",
            "element": "wet rocks",
            "orientation": "",
            "state": "slick, black-gray, cold"
          },
          {
            "camera_use": "Soft edge texture around the screen.",
            "directionality_class": "non_directional",
            "element": "rainwater on skin and phone edge",
            "orientation": "",
            "state": "beaded and trembling"
          }
        ],
        "lighting_mood": "The device casts a small bluish-white glow onto wet fingers, surrounded by muted fog-gray dusk and cold rock shadows.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 3,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only 수리영's hand and a small edge of her body are visible around the phone; a full outlook reference would not be visually alignable.",
            "subject_id": "C10"
          }
        ]
      },
      {
        "camera_direction": "Following the flow's side-on track along the pier, the frame widens into a full-body profile composition at chest height, three to four meters away. 수리영 occupies the left midground with both hands slightly extended in appeal, while 인우 remains to the right near the mooring area, his body held back by the tied boat and rope line.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "hands extended pleading",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C21",
            "subject_state": "alive"
          },
          {
            "angle": "profile_left",
            "body_pose": "bracing by mooring rope",
            "character": "인우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C10",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "Inwoo near the tied boat",
              "label": "Suriyeong pleading",
              "screen_zone": "middle_left",
              "target_id": "C10",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Inwoo by mooring area",
              "screen_zone": "middle_right",
              "target_id": "C21",
              "target_kind": "character"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Right-side anchor tying 인우 to the boat and his reluctance.",
            "directionality_class": "directional_3d",
            "element": "mooring post and rope",
            "orientation": "The rope runs from the post toward the boat beside 인우, its taut line crossing the right side of frame.",
            "state": "wet, secured"
          },
          {
            "camera_use": "Background vessel that makes her request concrete.",
            "directionality_class": "directional_3d",
            "element": "small fishing boat",
            "orientation": "The boat's side faces camera in profile behind 인우, hull damp and low against the pier.",
            "state": "tied, idling or still"
          },
          {
            "camera_use": "Spatial corridor for the side tracking movement.",
            "directionality_class": "directional_3d",
            "element": "wooden pier",
            "orientation": "The planks run horizontally through the shot, separating 수리영 on the left from 인우 on the right.",
            "state": "wet, empty"
          },
          {
            "camera_use": "Atmospheric depth swallowing the harbor beyond them.",
            "directionality_class": "non_directional",
            "element": "dense harbor fog",
            "orientation": "",
            "state": "thick, gray-green, obscuring distance"
          }
        ],
        "lighting_mood": "Flat fog-diffused dusk light desaturates the pier into coastal gray, with faint sickly green shadows under the boat and wet crimson-brown rope fibers.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the end of the pier, the camera holds the flow's tight side-profile position about half a meter from 수리영's face, compressing her lowered eyes and the phone pressed near her mouth into the right half of the frame. The foggy sea falls away as a soft, depthless background on the opposite side, making her voice message feel private and swallowed by the mist.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "phone pressed to mouth",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft negative space behind her profile.",
            "directionality_class": "non_directional",
            "element": "fog-covered sea",
            "orientation": "",
            "state": "opaque with mist, horizon nearly erased"
          },
          {
            "camera_use": "Lower-frame edge marking the drop into water.",
            "directionality_class": "directional_3d",
            "element": "pier end",
            "orientation": "The pier edge cuts diagonally behind her shoulder and recedes out of focus toward the sea.",
            "state": "wet, dark, deserted"
          },
          {
            "camera_use": "Small foreground communication object tied to her mouth and emotion.",
            "directionality_class": "content_surface",
            "element": "phone body and screen edge",
            "orientation": "The phone's front face is turned mostly away from camera, with only a thin glowing edge visible near her lips.",
            "state": "on, damp"
          }
        ],
        "lighting_mood": "Cool fog light wraps her profile in gray while the phone edge gives a faint bluish pulse under her eyes, leaving the sea behind her colorless and tense.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow's entrance-corner position, the camera holds a medium-wide diagonal view across the ruined rooftop-room living area toward 혜수 in the center. She is framed small enough for the scattered household items to remain visible around her, but her blank stare and the phone gripped in her hand stay the emotional center.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "phone clenched at waist",
            "character": "혜수",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Foreground and side clutter showing the room has been searched.",
            "directionality_class": "non_directional",
            "element": "scattered household items",
            "orientation": "",
            "state": "strewn across floor and furniture"
          },
          {
            "camera_use": "Broken domestic geometry around 혜수.",
            "directionality_class": "directional_3d",
            "element": "overturned dining chairs",
            "orientation": "The chair backs and legs face different directions around the living area, some angled toward camera.",
            "state": "toppled, displaced"
          },
          {
            "camera_use": "Dim dusk source and sign of intrusion.",
            "directionality_class": "transparent_surface",
            "element": "open living-room window",
            "orientation": "The camera sees the dull evening light and exterior haze through the open frame behind the room.",
            "state": "open, dirty, rain-damp"
          },
          {
            "camera_use": "Dark diagonal foreground edge anchoring the static discovery angle.",
            "directionality_class": "directional_3d",
            "element": "entrance corner wall",
            "orientation": "The near wall edge faces camera obliquely, forming a shadowed border along one side.",
            "state": "still, scuffed"
          }
        ],
        "lighting_mood": "Weak sunset leakage and green-gray interior shadow flatten the room, with the phone catching a small cold highlight in 혜수's rigid hand.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 27,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera stays at water level far offshore, fully static, with the small fishing boat held as a dark horizontal mark against the red sunset horizon. The boat sits slightly off-center in the wide frame, leaving heavy empty sea and sky around it so the distance feels ominous rather than scenic.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary distant subject establishing isolation before the deck cut.",
            "directionality_class": "directional_3d",
            "element": "small fishing boat",
            "orientation": "The boat is seen broadside as a small silhouette against the horizon, its cabin and hull reduced to dark shapes.",
            "state": "floating, far from shore"
          },
          {
            "camera_use": "Reflective plane carrying the red dusk color.",
            "directionality_class": "reflective_surface",
            "element": "sunset sea",
            "orientation": "The water reflects a muted red-orange sky in broken ripples around the boat.",
            "state": "dark, gently moving"
          },
          {
            "camera_use": "Background color field and time marker.",
            "directionality_class": "non_directional",
            "element": "red sunset horizon",
            "orientation": "",
            "state": "dim, hazy, fading"
          },
          {
            "camera_use": "Atmospheric veil flattening distance.",
            "directionality_class": "non_directional",
            "element": "offshore haze",
            "orientation": "",
            "state": "thin but persistent"
          }
        ],
        "lighting_mood": "The palette is muted coastal gray swallowed by a dull crimson sunset reflection, with the boat nearly black against the dying light.",
        "perception_mode": "direct",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "On the deck at eye level, the camera holds the flow's tight front-left position but closes in enough to exclude the photograph entirely, isolating 인우's widened eyes and parted mouth. His face fills most of the center frame while the deck rail and sunset sea dissolve into a narrow, unstable blur behind him.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "jaw dropped rigid",
            "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": "Inwoo isolated reaction close-up",
              "screen_zone": "middle_center",
              "target_id": "C21",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Blurred deck context behind the isolated panic.",
            "directionality_class": "directional_3d",
            "element": "boat deck rail",
            "orientation": "The rail cuts behind 인우 at a shallow diagonal, its side facing camera out of focus.",
            "state": "wet, weathered"
          },
          {
            "camera_use": "Soft background color and motion cue.",
            "directionality_class": "reflective_surface",
            "element": "sunset sea beyond deck",
            "orientation": "The water behind him reflects dim red light in broken, blurred strips.",
            "state": "moving gently, defocused"
          },
          {
            "camera_use": "Overhead hard shadow source from the boat structure.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse edge",
            "orientation": "A dark cabin edge sits above and behind him, facing camera as a cropped angular shadow.",
            "state": "still, salt-stained"
          }
        ],
        "lighting_mood": "Dull crimson sunset grazes one side of his face while cold green-gray deck shadow hollows his eyes, making recognition feel sick and trapped.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow's low hand-height position, the lens is nearly parallel to the photograph surface and pushes into an insert where 수리영's index fingertip pins one young girl's printed face. Only the fingertip, the worn photo grain, blood-dark creases, and the child's face remain readable, with the wheelhouse surroundings reduced to a dirty peripheral shadow.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "finger pressing photograph",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary evidence surface under the fingertip.",
            "directionality_class": "content_surface",
            "element": "old photograph",
            "orientation": "The printed front face is visible almost parallel to the lens, showing the young girl's face under 수리영's fingertip and worn photo texture around it.",
            "state": "aged, creased, damp-stained"
          },
          {
            "camera_use": "Tiny pressure point that directs the audience's reading of the photo.",
            "directionality_class": "non_directional",
            "element": "pressed fingertip shadow",
            "orientation": "",
            "state": "tight, unmoving"
          },
          {
            "camera_use": "Barely visible location context at the edge of the insert.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse surface beneath photo",
            "orientation": "The tabletop or console surface lies flat under the photograph, seen only as a dark rim around the paper.",
            "state": "dirty, salt-worn, dim"
          }
        ],
        "lighting_mood": "A cramped green-gray wheelhouse shadow falls over the photo while a faint red-brown stain in the creases echoes the ritual crimson from the room.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 5,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only 수리영's fingertip is visible in this insert; the shot cannot use a full appearance reference without inventing unseen facial or body details.",
            "subject_id": "C10"
          }
        ]
      },
      {
        "camera_direction": "Eye-level close observer view, held about two feet in front of 인우, with his drained face occupying the left-center foreground in a tense three-quarter angle while the lens is aimed just past his cheek. The depth of field is held unusually deep for a close shot so the dark wheelhouse wall behind his shoulder stays legible, revealing multiple smeared crimson circular markings across the mid-background without letting them overtake his face.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "neck held rigid",
            "character": "인우",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Used as the reveal plane behind 인우's face; the red circles remain sharp enough to read over his shoulder.",
            "directionality_class": "content_surface",
            "element": "dark wheelhouse wall with red circular markings",
            "orientation": "The inner wall face is visible to camera, carrying smeared blood-red circular symbols across its damp gray surface.",
            "state": "damp, stained, dimly visible"
          },
          {
            "camera_use": "Soft peripheral texture that compresses the space and catches faint dusk light behind the subject.",
            "directionality_class": "transparent_surface",
            "element": "salt-fogged wheelhouse window",
            "orientation": "Condensation clouds the glass; only murky coastal dusk and gray fog are visible through it.",
            "state": "closed, dirty, wet with condensation"
          },
          {
            "camera_use": "Low mechanical silhouette at the lower edge, reinforcing the wheelhouse pressure without drawing focus.",
            "directionality_class": "directional_3d",
            "element": "helm console edge",
            "orientation": "Its dark top plane angles away from camera beneath 인우's chest line.",
            "state": "unlit, worn, damp"
          }
        ],
        "lighting_mood": "Muted dusk-gray light leaks through wet glass while a sickly green interior cast and sharp crimson wall marks create a grim Korean folk-occult dread.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Locked-off observer view from a tight shoulder-height position beside 인우, angled across his shoulder so 수리영's unconscious head rests heavily in the lower-left foreground while his turning face cuts back toward her from the upper-right. The framing stays within two feet of both bodies, compressing them into one claustrophobic shape; the background wall markings fall softer now, with the emphasis shifted to the physical weight of her collapse.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "head on shoulder",
            "character": "수리영",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "unconscious"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "shoulder braced under weight",
            "character": "인우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C10",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Suriyoung collapsed against Inwoo",
              "screen_zone": "lower_left",
              "target_id": "C10",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Inwoo turning to glare at her",
              "screen_zone": "middle_right",
              "target_id": "C21",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Blurred occult backdrop behind the two bodies, keeping continuity with the previous reveal.",
            "directionality_class": "content_surface",
            "element": "wheelhouse wall with red circular markings",
            "orientation": "The marked inner face remains partially visible behind their shoulders, its red circles smeared across the damp wall but no longer the sharpest plane.",
            "state": "dim, wet, blood-streaked"
          },
          {
            "camera_use": "Narrow side frame and shadow block, trapping the characters in the wheelhouse corner.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse doorframe edge",
            "orientation": "The vertical inner edge faces camera in profile along the right margin.",
            "state": "closed-in, chipped, salt-stained"
          },
          {
            "camera_use": "Cold back texture behind the collapse, separating hair and shoulders with a faint gray rim.",
            "directionality_class": "transparent_surface",
            "element": "condensed side window",
            "orientation": "Clouded glass shows only fog-diluted dusk beyond, with moisture beads catching a thin rim of light.",
            "state": "closed, opaque with condensation"
          }
        ],
        "lighting_mood": "The same low coastal dusk persists, but the light is flatter and heavier, with green-gray shadows swallowing the faces and only dull red accents bleeding from the wall behind them.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Low front-quarter observer view just above the bow line, holding nearly motionless as the small fishing boat's front half enters the fog from the lower-left toward the middle of frame. The bow and railings remain only about a third of the image, with gray sea and a dense fog wall taking the rest, so the vessel seems to be erased rather than swallowed in a dramatic fantasy effect.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "thick fog bank",
              "label": "front half of small fishing boat",
              "screen_zone": "middle_left",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "thick fog bank swallowing the bow",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary moving form in the suspended composition, its forward edge fading into mist.",
            "directionality_class": "directional_3d",
            "element": "small fishing boat bow",
            "orientation": "The front-left quarter faces camera, with the prow angled into the fog and its far edge softened by mist.",
            "state": "wet, weathered, partially obscured"
          },
          {
            "camera_use": "Main atmospheric barrier that erases the boat's outline and horizon line.",
            "directionality_class": "non_directional",
            "element": "dense sea fog bank",
            "orientation": "",
            "state": "thick, drifting, boundary-blurring"
          },
          {
            "camera_use": "Low reflective base under the boat, catching the last weak sunset tone without becoming bright.",
            "directionality_class": "reflective_surface",
            "element": "darkening sea surface",
            "orientation": "The rippled surface reflects a broken smear of muted gold-gray dusk and the shadow of the bow.",
            "state": "cold, gently moving, dark gray"
          },
          {
            "camera_use": "Faint background color source, almost extinguished by fog and distance.",
            "directionality_class": "non_directional",
            "element": "sunset haze over the horizon",
            "orientation": "",
            "state": "dim, muted gold, nearly swallowed by gray"
          }
        ],
        "lighting_mood": "Dying sunset is reduced to a tarnished gold-gray wash through dense fog, with damp coastal grays and faint sickly green undertones flattening the boat into an ominous silhouette.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 30,
        "shot_index": 2,
        "subject_reference_policy": []
      }
    ],
    "total": 53,
    "failed_batches": 0
  },
  "step_id": "shot_staging",
  "run_id": "725d91f1-6704-4395-bf3e-a3e4288d7c66",
  "resolved_model": "gpt",
  "updated_at": "2026-06-30T09:43:35.187908+00:00",
  "schema_version": 6,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}