{
  "status": "completed",
  "completed_count": 57,
  "applicable_count": 57,
  "failed_count": 0,
  "data": {
    "shots": [
      {
        "camera_direction": "From the escape_tracking flow, the camera rides low at shin-to-waist height about 10 feet in front of 낯선 남자, retreating backward on the narrow forest path while framing wider than usual to keep his full body in the shot. He occupies the middle of the frame in a low wide composition, one bare foot punching into the dirt in the lower center as both hands tear open the wet brush at the left and right edges, with handheld vibration preserving the panic of the backward track.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "bare foot striking dirt",
            "character": "낯선 남자",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "camera retreat path",
              "label": "낯선 남자",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Dense foreground obstruction whipping past both frame edges as the camera retreats.",
            "directionality_class": "non_directional",
            "element": "overgrown forest brush",
            "orientation": "",
            "state": "wet, tangled, closing in around the path"
          },
          {
            "camera_use": "Low visual anchor under the runner’s bare foot, giving scale and impact to the escape.",
            "directionality_class": "non_directional",
            "element": "muddy forest path",
            "orientation": "",
            "state": "dark, damp, kicked up by running feet"
          },
          {
            "camera_use": "Vertical background bars that create uneasy negative space behind the fleeing body.",
            "directionality_class": "directional_3d",
            "element": "thin tree trunks",
            "orientation": "trunks show narrow side profiles from the low forward angle, receding diagonally behind him",
            "state": "dark with dusk moisture"
          }
        ],
        "lighting_mood": "Fading dusk is rendered in foggy gray-green shadows with damp earth highlights and a faint deep-red suggestion in the wounded leg area.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the attack_reveal flow, the camera is ground-level just behind and slightly beside 낯선 남자, tilted sharply upward toward the treeline and the open air above him. The hold lingers a beat longer at the end of the tilt: 낯선 남자 is a lower-frame foreground fragment while 검은 형체 hangs in the upper center as a huge airborne silhouette, reading clearly before impact.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "ducking under impact",
            "character": "낯선 남자",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "airborne body arched",
            "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": "airborne black silhouette",
              "label": "낯선 남자",
              "screen_zone": "lower_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "moves_toward",
              "gesture_target_label": "낯선 남자 below",
              "label": "검은 형체",
              "screen_zone": "upper_center",
              "target_id": "C02",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "High contrast backdrop that makes the creature silhouette legible.",
            "directionality_class": "non_directional",
            "element": "pale dusk sky between branches",
            "orientation": "",
            "state": "dim, fogged, nearly colorless"
          },
          {
            "camera_use": "Jagged overhead frame around the airborne figure.",
            "directionality_class": "directional_3d",
            "element": "treeline canopy",
            "orientation": "branch undersides face the low camera, forming a claw-like rim around the upper frame",
            "state": "blackened by backlight"
          },
          {
            "camera_use": "Ground-level spatial reference behind the man, exaggerating the upward tilt.",
            "directionality_class": "non_directional",
            "element": "forest floor",
            "orientation": "",
            "state": "muddy, trampled, scattered with wet leaves"
          }
        ],
        "lighting_mood": "Backlit gray dusk turns the attacker into a near-black mass, with the man’s lower body catching only cold, muddy edge light.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Derived from the approach_to_eyes flow, the camera is within one meter at chest-to-eye height, angled slightly upward from the victim’s shoulder line into 한국인 남성’s face. The shot tightens into an extreme close-up so darkness swallows almost everything except the two red glowing eyes centered across the frame, with only a sliver of brow and cheek texture visible in shallow focus.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "head lowered predatory",
            "character": "한국인 남성",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "한국인 남성 eyes",
              "screen_zone": "middle_center",
              "target_id": "C04",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Negative space around the eyes, hiding the rest of the alley and face.",
            "directionality_class": "non_directional",
            "element": "alley darkness",
            "orientation": "",
            "state": "dense, wet, almost featureless"
          },
          {
            "camera_use": "Tiny glints inside the red pupils, suggesting distant streetlight reflection.",
            "directionality_class": "reflective_surface",
            "element": "moist eye surfaces",
            "orientation": "the eye surfaces reflect pinpricks of alley light inside the red glow",
            "state": "wet, unnaturally luminous"
          }
        ],
        "lighting_mood": "Low-key blackness is punctured by saturated deep-red eye light, with the surrounding skin barely lifted by cold urban spill.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 2,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The frame isolates only the man’s glowing eyes and fragments of facial texture, so a full outlook reference would over-specify details not visible.",
            "subject_id": "C04"
          }
        ]
      },
      {
        "camera_direction": "From the aftermath flow, the camera sits colder and lower than before, about 40 centimeters above the wet alley floor and 1.5 meters from 한국인 여성, looking diagonally across the pavement. Her body lies fully spread through the middle and lower right of the frame, neck twisted at an unnatural angle, while the alley recedes into blurred darkness behind her.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "sprawled neck twisted",
            "character": "한국인 여성",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Reflective base plane that doubles the coldness of the corpse shot.",
            "directionality_class": "reflective_surface",
            "element": "wet alley pavement",
            "orientation": "the puddled surface reflects broken amber streetlight and the woman’s dark body outline",
            "state": "slick, dirty, cold"
          },
          {
            "camera_use": "Background urban texture, compressing the body into a narrow dead-end space.",
            "directionality_class": "directional_3d",
            "element": "alley walls",
            "orientation": "side walls angle away from the low camera, forming a shallow diagonal corridor",
            "state": "stained, damp, dim"
          },
          {
            "camera_use": "Small distant light source creating a weak rim on the pavement.",
            "directionality_class": "directional_3d",
            "element": "streetlamp pole",
            "orientation": "the pole’s lit side faces partly toward camera from the far alley edge",
            "state": "on, hazy, weak"
          }
        ],
        "lighting_mood": "A sickly amber streetlamp mixes with blue-black wet shadows, making the body look drained and cold against the reflective pavement.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 4,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The woman is presented as an anonymous dead victim in a wide aftermath composition rather than an identifiable character portrait.",
            "subject_id": "C03"
          }
        ]
      },
      {
        "camera_direction": "Following the command_focus flow as field-news footage, the camera is shoulder height inside the police cluster about two meters from 혜수, angled three-quarters toward her upper body. The frame is slightly tighter than the stage default: 혜수 holds the center-left with her pointing arm cutting toward the right edge, while 경찰 무리 press around her in the midground and the body-recovery direction remains implied beyond her gesture.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "pointing through crowd",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "clustered behind notebooks",
            "character": "경찰 무리",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C05",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "points_to",
              "gesture_target_label": "covered body recovery area",
              "label": "혜수",
              "screen_zone": "middle_left",
              "target_id": "C05",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "covered body recovery area",
              "screen_zone": "middle_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "points_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Crowd barrier and graphic divider behind the command action.",
            "directionality_class": "directional_3d",
            "element": "police line tape",
            "orientation": "the tape stretches laterally behind 혜수, its broad face intermittently visible between officers",
            "state": "taut, rain-dulled, active scene boundary"
          },
          {
            "camera_use": "Broadcast context in the far direction of 혜수’s gesture.",
            "directionality_class": "content_surface",
            "element": "covered body area marker board",
            "orientation": "the marked face is angled partly toward camera, showing investigation markings rather than its blank back",
            "state": "wet, upright, partially obscured"
          },
          {
            "camera_use": "Human wall creating pressure around the command figure.",
            "directionality_class": "directional_3d",
            "element": "police cluster",
            "orientation": "officers’ shoulders and backs face the camera in overlapping layers around 혜수",
            "state": "crowded, tense, moving minimally"
          }
        ],
        "lighting_mood": "Compressed gray daylight and broadcast-video flatness mute the scene, with damp uniforms and pale forensic whites cutting through the gloom.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 3,
        "shot_index": 2,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The surrounding police are a functional crowd element rather than individually registered subjects; generic officers should be allowed.",
            "subject_id": "C05"
          }
        ]
      },
      {
        "camera_direction": "From the settle_on_rooftop flow, the camera holds high overhead about 25 meters above the weathered villa, looking straight down with a slight crane-settle onto the faded rooftop room. The rooftop room sits small but isolated in the middle of a wide frame, surrounded by muted roof surfaces and empty negative space that makes the morning quiet feel watched.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary architectural subject isolated by overhead geometry.",
            "directionality_class": "directional_3d",
            "element": "old rooftop room",
            "orientation": "its flat roof and weathered front edge are visible from above, emphasizing its boxlike isolation",
            "state": "faded, closed, still"
          },
          {
            "camera_use": "Surrounding empty plane that expands the silence around the room.",
            "directionality_class": "non_directional",
            "element": "concrete roof surface",
            "orientation": "",
            "state": "stained, pale, damp from morning haze"
          },
          {
            "camera_use": "Atmospheric veil softening the neighborhood edges.",
            "directionality_class": "non_directional",
            "element": "morning fog",
            "orientation": "",
            "state": "thin, gray, suspended in hazy light"
          }
        ],
        "lighting_mood": "Clouded morning light washes the rooftop in foggy grays and muted beige, with no warm domestic glow visible.",
        "perception_mode": "direct",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 4,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the establishing flow, the camera is inside the small living room near the window at shoulder height, set several feet to 민숙’s side and angled across the dim room toward the television glow. 민숙 holds the right-middle of the frame in tense side profile, her face rigid and lit by the TV while the thin window light slices in from the left, leaving the rest of the room in uneasy shadow.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "leaning toward television",
            "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": "Cold light source shaping 민숙’s profile and reflecting news anxiety.",
            "directionality_class": "content_surface",
            "element": "television screen",
            "orientation": "the illuminated front screen faces partly toward camera, showing indistinct news brightness rather than the dark rear casing",
            "state": "on, flickering, low volume implied"
          },
          {
            "camera_use": "Pale side light and spatial anchor for the camera position.",
            "directionality_class": "transparent_surface",
            "element": "small living-room window",
            "orientation": "thin daylight passes through slightly grimy glass; the outside is overexposed and indistinct",
            "state": "closed, dusty, leaking pale light"
          },
          {
            "camera_use": "Domestic occult texture in the background kitchen area.",
            "directionality_class": "non_directional",
            "element": "steam from boiling pot",
            "orientation": "",
            "state": "rising faintly, humid, partially backlit"
          }
        ],
        "lighting_mood": "TV blue-gray glow and thin window daylight carve 민숙 out of a dark, damp-feeling room with muted gold kitchen spill barely present.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the close_observation flow, the camera is in the entryway at close face height, less than two feet from 수리영 and slightly behind 민숙’s shoulder line. 수리영’s closed eyes and nose near 민숙’s shoulder occupy the center-right of a tight frame, while 민숙’s shoulder is a soft foreground block on the left, turning the intimate sniff into something almost ritual and watchful.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning into shoulder",
            "character": "수리영",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "shoulder softened inward",
            "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 foreground occlusion that frames 수리영’s face from behind 민숙.",
            "directionality_class": "directional_3d",
            "element": "민숙’s shoulder line",
            "orientation": "the rounded shoulder side faces camera in soft focus, partially blocking the left frame",
            "state": "close, still, warmly familiar"
          },
          {
            "camera_use": "Muted domestic threshold behind them, locating the intimate moment near departure.",
            "directionality_class": "directional_3d",
            "element": "entryway wall and shoe area",
            "orientation": "the wall plane angles shallowly behind the figures while the shoe area sits low and blurred",
            "state": "dim, cramped, lived-in"
          },
          {
            "camera_use": "Residual kitchen humidity softening the background.",
            "directionality_class": "non_directional",
            "element": "faint room steam",
            "orientation": "",
            "state": "thin, dissipating, gray in the low light"
          }
        ],
        "lighting_mood": "Soft gray daylight and a trace of warm interior spill flatten into tactile shadow, making skin tones subdued and the mother-daughter closeness faintly uncanny.",
        "perception_mode": "direct",
        "perspective": "over_shoulder",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Following the reveal flow, the camera tilts down into an extreme detail at lower chest height, about eight inches from 민숙’s exposed wrist. The pale wrist and black circular mark sit in the middle of the frame as the only crisp subject, with just a narrow sleeve edge and blurred entryway tones remaining for scale so the ritual mark feels discovered rather than displayed.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "wrist exposed mid-turn",
            "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": "민숙 wrist mark",
              "screen_zone": "middle_center",
              "target_id": "C06",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary visual revelation on skin, held as a tactile occult sign.",
            "directionality_class": "content_surface",
            "element": "dark circular wrist mark",
            "orientation": "the marked skin face is turned fully toward camera, showing the black round symbol sharply against pale skin",
            "state": "clear, unusually dark, sharply defined"
          },
          {
            "camera_use": "Soft scale reference at the edge of the detail frame.",
            "directionality_class": "directional_3d",
            "element": "sleeve cuff",
            "orientation": "the cuff edge curves around the wrist with its outer fabric side facing camera",
            "state": "slightly rumpled, muted color"
          },
          {
            "camera_use": "Blurred background tone preventing the detail from becoming abstract.",
            "directionality_class": "non_directional",
            "element": "entryway floor blur",
            "orientation": "",
            "state": "dim, out of focus, neutral gray"
          }
        ],
        "lighting_mood": "A narrow wash of gray daylight turns the wrist pallid while the mark absorbs light into a dense black, edged with muted-gold domestic shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 8,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only 민숙’s wrist and mark are visible; the shot should reference the base character identity without requiring a full outlook match.",
            "subject_id": "C06"
          }
        ]
      },
      {
        "camera_direction": "From the reaction_close_observation flow, the camera tracks at 수리영’s eye level just ahead and slightly to the side of the bicycle, close enough for her face and upper body while still moving with the ride. She holds center frame with both hands braced on the handlebars, eyes widened and head snapped sideways toward the off-screen barking, while the road continues sliding behind her to contrast motion with her sudden freeze.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "hands braced on 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": "Moving background streak that keeps the bicycle motion alive despite 수리영’s frozen reaction.",
            "directionality_class": "directional_3d",
            "element": "coastal road",
            "orientation": "the road surface runs diagonally backward from the bicycle, its lane edge sliding past camera right",
            "state": "dry, bright, open"
          },
          {
            "camera_use": "Lateral horizon cue and airy contrast to the sudden threat sound.",
            "directionality_class": "non_directional",
            "element": "sea haze",
            "orientation": "",
            "state": "bright, pale, salt-gray"
          },
          {
            "camera_use": "Repeating foreground-background rhythm beside the bicycle.",
            "directionality_class": "directional_3d",
            "element": "roadside guardrail",
            "orientation": "its rail face runs parallel to camera movement, flashing as horizontal bands behind her",
            "state": "sun-faded, steady, slightly rusted"
          }
        ],
        "lighting_mood": "Daylight stays comparatively bright but desaturated by sea haze, with a cool gray-blue wash that lets her widened eyes carry the unease.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 6,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At Sooriyoung's eye level from the dog's side of the kennel line, the camera is pushed into an extreme close-up so only 수리영's eyes and the bridge of her nose survive between soft, vertical cage bars. This is an observer view compressed through the iron sightline, nearly frontal, with the bars grazing the left and right edges like a ritual frame around her unblinking stare.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "face rigidly still",
            "character": "수리영",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Sooriyoung's eyes",
              "screen_zone": "middle_center",
              "target_id": "C07",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "soft foreground obstruction slicing the extreme close-up",
            "directionality_class": "directional_3d",
            "element": "kennel cage bars",
            "orientation": "vertical bars face the camera as a rigid frontal grid, slightly out of focus",
            "state": "closed, damp, dark metal"
          },
          {
            "camera_use": "compressed negative space behind the stare",
            "directionality_class": "non_directional",
            "element": "shadowed kennel interior",
            "orientation": "",
            "state": "dim, wet, indistinct"
          }
        ],
        "lighting_mood": "Cold shelter fluorescents flatten her skin while gray shadows pool behind the cage, making the eyes feel unnaturally calm against the animal panic.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 2,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The frame isolates only the eyes and nose bridge; a full outlook reference could over-specify unseen clothing and body details.",
            "subject_id": "C07"
          }
        ]
      },
      {
        "camera_direction": "Across the kennel aisle at chest height, the camera settles from its track into a steadier medium close-up of 수리영 leaned against the stained shelter wall, her smartphone pressed hard to one ear. She occupies the right half of frame while kennel doors recede behind her on the left, making the unanswered call feel trapped inside the shelter's metallic rhythm.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning against wall",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "physical support and flat negative space behind her upper body",
            "directionality_class": "content_surface",
            "element": "shelter wall notice board",
            "orientation": "the notice-covered face is angled partly toward camera, with faded paper edges visible but unreadable",
            "state": "dirty, peeling, fluorescent-lit"
          },
          {
            "camera_use": "background depth and anxious animal context",
            "directionality_class": "directional_3d",
            "element": "kennel aisle doors",
            "orientation": "door fronts face diagonally away from camera, forming a repeating line into the background",
            "state": "closed, wet metal, dim"
          },
          {
            "camera_use": "held near her face as the emotional focal prop",
            "directionality_class": "directional_3d",
            "element": "smartphone",
            "orientation": "thin side edge and dark screen side are partly visible near her ear",
            "state": "on call, screen mostly hidden"
          }
        ],
        "lighting_mood": "Green-gray fluorescent light mixes with damp red-brown rust tones, leaving her frown under a shallow, tired shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the bright supermarket aisle, the camera pauses at the end of its dolly-in slightly below 수리영's eye line, looking through a display shelf about four feet away. The shelf edge cuts across the lower foreground, while her tense face is trapped between product rows, her narrowed gaze fixed past the right side of frame.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "leaning past shelf",
            "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": "foreground cutter framing her anxious face",
            "directionality_class": "directional_3d",
            "element": "supermarket display shelf",
            "orientation": "the long shelf edge runs horizontally toward camera, with product fronts angled in shallow perspective",
            "state": "bright, crowded, orderly"
          },
          {
            "camera_use": "color contrast against her unease",
            "directionality_class": "content_surface",
            "element": "price tags and package fronts",
            "orientation": "the printed faces of tags and packages point toward camera in broken bands of color",
            "state": "clean, brightly lit, partially blurred"
          },
          {
            "camera_use": "sterile retail depth behind the search",
            "directionality_class": "non_directional",
            "element": "white aisle lighting",
            "orientation": "",
            "state": "fully on, harsh, even"
          }
        ],
        "lighting_mood": "Over-bright white supermarket light feels too clean and exposed, with muted gold package highlights cutting against her gray-blue anxiety.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Just outside the supermarket entrance, the handheld camera tightens into a medium close-up about five feet in front of 수리영, with the glowing doorway behind her and the dark street falling away at both edges. Her phone and clenched mouth hold the center-right of frame while the entrance becomes a soft rectangle of safety she has already left.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "weight on back foot",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "backlight and emotional contrast behind her isolation",
            "directionality_class": "transparent_surface",
            "element": "supermarket glass entrance",
            "orientation": "clean glass doors glow behind her, revealing bright aisles beyond but reflecting faint street neon",
            "state": "open or sliding, brightly lit"
          },
          {
            "camera_use": "dark receding environment around the call",
            "directionality_class": "non_directional",
            "element": "sidewalk and street darkness",
            "orientation": "",
            "state": "wet-looking, dim, busy at distance"
          },
          {
            "camera_use": "small focal prop pressed against her ear",
            "directionality_class": "directional_3d",
            "element": "smartphone",
            "orientation": "its dark back and edge face camera near her cheek",
            "state": "active call, unanswered"
          }
        ],
        "lighting_mood": "Cold neon and supermarket white spill rim her hair while the street wraps her in blue-black shadow and muted red sign glow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera tracks backward directly in front of the moving bicycle at handlebar height, cropped tight just above the bars so 수리영's lowered face and shoulders dominate the frame. Foggy road texture flickers in the lower sliver, while her body drives toward the lens as if the darkness is pulling both camera and rider backward.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "hunched over handlebars",
            "character": "수리영",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "camera along foggy coastal road",
              "label": "Sooriyoung on bicycle",
              "screen_zone": "middle_center",
              "target_id": "C07",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "foggy coastal road",
              "screen_zone": "lower_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "motion anchor at the bottom of frame",
            "directionality_class": "directional_3d",
            "element": "bicycle handlebars",
            "orientation": "the crossbar runs horizontally across the lower frame, front side facing camera",
            "state": "moving, damp metal highlights"
          },
          {
            "camera_use": "surrounding threat and depth loss",
            "directionality_class": "non_directional",
            "element": "coastal road fog",
            "orientation": "",
            "state": "thick, dark, low-visibility"
          },
          {
            "camera_use": "faint directional background line",
            "directionality_class": "non_directional",
            "element": "road surface",
            "orientation": "",
            "state": "wet, black-gray, barely lit"
          }
        ],
        "lighting_mood": "Low, fog-diffused night light paints her face in cold gray with brief muted-gold road reflections and deep red-black negative space beyond.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 9,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From behind the 낯선 남자 at chest height, the static camera holds a slightly wider threshold composition: his back is centered in the foreground-midground, the damp iron door fills the background, and his long shadow stretches diagonally across the rooftop floor and door area. His head remains swallowed by darkness, so the frame reads his posture and shadow before it reads him as a face.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "planted before door",
            "character": "낯선 남자",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "main threshold backdrop and occult boundary",
            "directionality_class": "directional_3d",
            "element": "rooftop iron door",
            "orientation": "the door front faces camera behind the man, its seam visible near center",
            "state": "closed, damp, darkened"
          },
          {
            "camera_use": "menacing extension of the figure across the floor",
            "directionality_class": "non_directional",
            "element": "long dark shadow",
            "orientation": "",
            "state": "dense, stretched, hard-edged near the feet"
          },
          {
            "camera_use": "rooftop realism and tactile wind detail",
            "directionality_class": "directional_3d",
            "element": "water tank and laundry line area",
            "orientation": "side faces and hanging line sit in peripheral background, angled away from camera",
            "state": "wet, wind-stirred, dim"
          }
        ],
        "lighting_mood": "A single low, dirty rooftop source carves him into black silhouette, with foggy grays on damp metal and a sickly muted-gold edge on the threshold.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 2,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The man is seen only from behind with his face deliberately obscured; identity should be referenced without forcing facial outlook detail.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "Outside the rooftop room window at shoulder height, the camera presses close to the dark glass at an oblique angle so the violence is seen only as a reflected black-and-white silhouette. The 인영 overlaps the fallen 사람 형태 in the center of the reflected room image, mouth opened toward the neck area, while the real glass surface keeps rain grime and darkness in the foreground.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "collapsed on floor",
            "character": "사람 형태",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          },
          {
            "angle": "profile_right",
            "body_pose": "straddling fallen body",
            "character": "인영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C12",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "dark reflective window glass",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "fallen human shape reflection",
              "screen_zone": "lower_center",
              "target_id": "C12",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "reaches_for",
              "gesture_target_label": "fallen person's neck",
              "label": "overlapping shadow figure reflection",
              "screen_zone": "middle_center",
              "target_id": "C13",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "primary reflective surface carrying the reveal",
            "directionality_class": "reflective_surface",
            "element": "dark rooftop window glass",
            "orientation": "the glass reflects the interior attack as a monochrome shadow while also showing grime and faint exterior darkness",
            "state": "closed, dirty, underexposed"
          },
          {
            "camera_use": "keeps the camera outside the room and denies direct detail",
            "directionality_class": "transparent_surface",
            "element": "window pane",
            "orientation": "the pane is too dark to see through clearly; only vague interior light and reflected silhouettes register",
            "state": "dark, slightly wet, opaque by exposure"
          },
          {
            "camera_use": "edge framing for the reflected violence",
            "directionality_class": "directional_3d",
            "element": "window frame",
            "orientation": "the side edge of the frame cuts diagonally along one side of camera view",
            "state": "old, damp, blackened"
          }
        ],
        "lighting_mood": "The room is underexposed into silver-gray and black, with no warm interior comfort—only a thin, corpse-like reflection on the glass.",
        "perception_mode": "reflection",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 5,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The subject is intentionally only a vague fallen human silhouette in a reflected surface, not an identifiable character portrait.",
            "subject_id": "C12"
          },
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The attacking presence reads as an anonymous shadow form in reflection; outlook detail would undermine the silhouette reveal.",
            "subject_id": "C13"
          }
        ]
      },
      {
        "camera_direction": "On the narrow concrete stair landing, the handheld camera is tight at eye level about two feet in front of 수리영, cropping around her face and the fingers pinching her nose. The stair walls crowd the left and right edges, turning her grimace into a trapped physical reaction rather than a clean portrait.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "pinching nose tightly",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "claustrophobic side framing around her face",
            "directionality_class": "directional_3d",
            "element": "narrow concrete stair walls",
            "orientation": "wall faces press in from both sides, rough surfaces angled toward camera",
            "state": "dark, stained, damp"
          },
          {
            "camera_use": "vertical pressure and route upward",
            "directionality_class": "directional_3d",
            "element": "stair landing and steps",
            "orientation": "step edges recede behind and below her, their front faces barely catching light",
            "state": "shadowed, worn, dirty"
          },
          {
            "camera_use": "ambient source from above motivating her next movement",
            "directionality_class": "non_directional",
            "element": "rooftop spill light",
            "orientation": "",
            "state": "weak, cold, partially blocked"
          }
        ],
        "lighting_mood": "A thin cold spill from above cuts across her brow and fingers, leaving the stairwell in wet charcoal grays and sour green-black shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera has retreated onto the rooftop and widened to a full-body eye-level frame about ten feet in front of 수리영 as she steps out of the stair exit and freezes. Her dropped hand hangs visibly against the open rooftop space, while her shocked gaze passes just off the lens toward the unseen half-open door the camera will pan to next.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "frozen mid-step",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "unseen half-open rooftop room door",
              "label": "Sooriyoung frozen on rooftop",
              "screen_zone": "middle_center",
              "target_id": "C07",
              "target_kind": "character"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "full-body floor space that emphasizes her sudden stop",
            "directionality_class": "non_directional",
            "element": "rooftop concrete floor",
            "orientation": "",
            "state": "dark, damp, open"
          },
          {
            "camera_use": "exit point behind her and spatial continuity from stairs",
            "directionality_class": "directional_3d",
            "element": "stairwell opening",
            "orientation": "the opening faces diagonally toward camera behind her, a dark rectangle cut into the rooftop",
            "state": "open, unlit"
          },
          {
            "camera_use": "wind and unease in peripheral rooftop texture",
            "directionality_class": "directional_3d",
            "element": "laundry line and rooftop fixtures",
            "orientation": "thin lines and fixture sides cross the background laterally",
            "state": "still to lightly wind-stirred, dim"
          }
        ],
        "lighting_mood": "Moonless blue-gray darkness wraps the rooftop, with a faint dirty amber spill catching her lowered hand and the wet concrete around her feet.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside 수리영's room near the pulled curtain, the static camera holds a wider chest-height reveal of 민숙 seated on the dark floor behind the fabric, excluding 수리영 completely. The opened curtain frames the body from one side while the empty floor space around her remains heavy and black, making the bowed head the first readable human shape in the room.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "slumped seated on floor",
            "character": "민숙",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "pulled curtain edge",
              "screen_zone": "upper_left",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Minsuk's bowed seated body",
              "screen_zone": "middle_center",
              "target_id": "C06",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "dark blood-marked floor",
              "screen_zone": "lower_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "reveal frame partially uncovering the corpse",
            "directionality_class": "transparent_surface",
            "element": "pulled curtain",
            "orientation": "thin fabric is dragged aside, its edge visible in foreground with darkness and body revealed behind it",
            "state": "opened, rumpled, stained by shadow"
          },
          {
            "camera_use": "horror texture leading into the body reveal",
            "directionality_class": "non_directional",
            "element": "dark floor with blood traces",
            "orientation": "",
            "state": "wet-looking, smeared, black-red"
          },
          {
            "camera_use": "oppressive room boundary behind the seated body",
            "directionality_class": "content_surface",
            "element": "bedroom wall",
            "orientation": "the plain wall face behind the corpse is visible, carrying stains and shadow rather than decoration",
            "state": "dim, dirty, low contrast"
          }
        ],
        "lighting_mood": "A weak interior lamp and TV spill flatten into foggy gray, while deep red-black blood tones and white curtain fabric create a ritual-like corpse tableau.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 9,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow's very low floor position beside 민숙, the camera settles almost still at hand height, angled along her limp forearm so the pale fingers and the crumpled old photograph occupy the lower-center foreground while the bed edge recedes as a dark diagonal behind. The framing is a tight close-up with shallow focus; the photograph takes roughly one third of the frame, never oversized, and the faint wrist mark sits just behind it as the second point of dread.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "limp hand gripping photo",
            "character": "민숙",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "close foreground evidence held inside the dead hand",
            "directionality_class": "content_surface",
            "element": "crumpled old photograph",
            "orientation": "The creased image side faces the camera at a shallow angle, but the folds hide most of its contents.",
            "state": "old, tightly wrinkled, trapped in the grip"
          },
          {
            "camera_use": "dark diagonal line guiding the eye away from the hand",
            "directionality_class": "directional_3d",
            "element": "bed edge",
            "orientation": "Its long side faces the lens obliquely, receding from lower right toward upper left.",
            "state": "dim, still, partly smeared by shadow"
          },
          {
            "camera_use": "tactile floor texture under the body and evidence",
            "directionality_class": "non_directional",
            "element": "floor near the body",
            "orientation": "",
            "state": "damp-looking, low-lit, stained by darkness"
          }
        ],
        "lighting_mood": "Low-key gray-blue room light with a muted red undertone keeps the skin waxy and the photograph dry and brittle against the damp darkness.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 14,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only 민숙's hand and wrist are visible in this close evidence shot; a full outlook reference would not align with the cropped body detail.",
            "subject_id": "C06"
          }
        ]
      },
      {
        "camera_direction": "Near the side of the bed, slightly below eye level, the camera holds static and tilts upward just enough to isolate the wall above the bed, keeping the mattress edge as a thin lower reference line. The thick red circle sits off-center in the upper middle of the frame on a bare wall, with uneasy empty plaster surrounding it so it reads like an impossible mark rather than decoration.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "wall above the bed with red circle",
              "screen_zone": "upper_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "thin bed edge reference",
              "screen_zone": "lower_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "primary supernatural focal surface",
            "directionality_class": "content_surface",
            "element": "wall above the bed",
            "orientation": "The flat plaster face is square enough to the camera that the newly formed thick red circle is clearly visible on its surface.",
            "state": "bare, unnaturally marked, otherwise clean"
          },
          {
            "camera_use": "lower frame anchor proving the mark is above the bed",
            "directionality_class": "directional_3d",
            "element": "bed edge",
            "orientation": "Only the top side and a narrow front lip face the camera from the bottom of frame.",
            "state": "dark, still, partially cropped"
          },
          {
            "camera_use": "empty negative space around the mark",
            "directionality_class": "non_directional",
            "element": "surrounding plaster shadow",
            "orientation": "",
            "state": "cold, blank, oppressive"
          }
        ],
        "lighting_mood": "A sickly mix of foggy gray shadow and deep ritual red makes the circle feel wet, fresh, and not quite physically real.",
        "perception_mode": "hallucination",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 18,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At 수리영's shoulder line, the handheld camera stays very close and slightly low, looking upward so 혜수's torso and both hands fill the middle of the frame as she clamps down on 수리영's shoulders. 수리영 remains as a tense foreground shoulder-and-cheek edge, while 혜수 leans in from the upper frame, compressing the space between them under the streetlight.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "gripping both shoulders",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C07",
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "recoiling under grip",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C05",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "cold exterior backlight and emergency color pulses",
            "directionality_class": "non_directional",
            "element": "police car light spill",
            "orientation": "",
            "state": "flashing, blurred, distant"
          },
          {
            "camera_use": "vertical pressure line behind the figures",
            "directionality_class": "directional_3d",
            "element": "rooftop stair railing",
            "orientation": "The rail's side profile cuts diagonally behind 혜수, pointing back toward the rooftop stairs.",
            "state": "wet, dark, metal"
          },
          {
            "camera_use": "grounded night texture beneath the confrontation",
            "directionality_class": "non_directional",
            "element": "damp pavement",
            "orientation": "",
            "state": "slick, gray, reflecting faint red-blue light"
          }
        ],
        "lighting_mood": "Harsh streetlamp white mixes with muted police reds and blues, carving 혜수's hands and making 수리영's skin look drained.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The dolly-in ends tight in front of 혜수 at eye level, stopping within two feet of her face as the dark exterior falls away into soft bokeh. Her widened eyes sit just above center, framed in a claustrophobic close-up with a slight handheld tremor that dies into stillness at the instant of shock.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "shoulders locked mid-breath",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C07",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "혜수 isolated close-up",
              "screen_zone": "middle_center",
              "target_id": "C05",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "soft negative-space backdrop isolating her shock",
            "directionality_class": "non_directional",
            "element": "dark rooftop exterior background",
            "orientation": "",
            "state": "underexposed, foggy, indistinct"
          },
          {
            "camera_use": "small color pulses at frame edge",
            "directionality_class": "non_directional",
            "element": "distant police light bokeh",
            "orientation": "",
            "state": "blurred, intermittent red-blue glow"
          },
          {
            "camera_use": "thin rim defining her hair and cheek",
            "directionality_class": "non_directional",
            "element": "streetlamp spill",
            "orientation": "",
            "state": "cold white, partially blocked"
          }
        ],
        "lighting_mood": "Cold white streetlight catches the whites of her eyes while deep reds from the patrol lights pulse faintly across the shadows.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Just inside the bedroom doorway at eye level, the camera holds a wider, symmetrical dolly-in frame that presents the bed, curtain, floor, and wall as unnervingly balanced evidence of absence. The room is centered and over-neat, with the empty wall above the bed and the spotless floor given as much weight as any object, making the missing blood and body the subject.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "central proof of impossible cleanliness",
            "directionality_class": "directional_3d",
            "element": "neatly made bed",
            "orientation": "The foot and top plane face the camera symmetrically from the center of the room.",
            "state": "perfectly arranged, untouched"
          },
          {
            "camera_use": "former hiding place now exposed as empty",
            "directionality_class": "transparent_surface",
            "element": "bedroom curtain",
            "orientation": "The fabric hangs flat near the window area; its thinness and gaps reveal no body or disturbance behind it.",
            "state": "closed-looking but undisturbed, clean"
          },
          {
            "camera_use": "absence of the earlier red mark",
            "directionality_class": "content_surface",
            "element": "wall above the bed",
            "orientation": "The camera sees the blank face of the wall where no red circle or stain remains.",
            "state": "clean, bare, impossibly unmarked"
          },
          {
            "camera_use": "negative evidence across the room layout",
            "directionality_class": "non_directional",
            "element": "bedroom floor",
            "orientation": "",
            "state": "spotless, dry, no footprints or blood"
          }
        ],
        "lighting_mood": "Flat, cold room light replaces the earlier ritual red, making the cleanliness feel sterile and accusatory rather than safe.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From near the foot of the bed at chest height, the camera finishes its pan into a tightened reaction frame on 수리영 by the doorway, letting only soft slivers of the immaculate room remain behind her. Her pale face occupies the right-center of the frame, while the empty room behind her is implied as a cold blur rather than shown again in full.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "bracing near doorway",
            "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 absence behind her expression",
            "directionality_class": "directional_3d",
            "element": "clean bed shape",
            "orientation": "The bed's front corner angles away behind 수리영, reduced to a soft block of order.",
            "state": "neat, undisturbed, out of focus"
          },
          {
            "camera_use": "rigid frame trapping her at the threshold",
            "directionality_class": "directional_3d",
            "element": "bedroom doorway",
            "orientation": "One vertical side of the doorway cuts close behind her shoulder, facing the camera edge-on.",
            "state": "open, still"
          },
          {
            "camera_use": "blank space contradicting her memory",
            "directionality_class": "content_surface",
            "element": "unmarked wall area",
            "orientation": "Only a pale, empty patch of the camera-facing wall is visible behind her, with no red symbol.",
            "state": "clean, featureless"
          }
        ],
        "lighting_mood": "Desaturated gray-white interior light washes 수리영's face nearly bloodless, with the background kept colder and flatter.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Low in the bedroom corner, about sixty centimeters above the floor, the camera creeps closer until the backpack and doll sit in the lower half of frame while their warped shadow climbs the wall behind them. The composition is tighter and lower than before, isolating only these shifted objects and the shadow they cast as the room's final malicious clue.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "primary uncanny clue, slightly displaced from expected position",
            "directionality_class": "directional_3d",
            "element": "backpack",
            "orientation": "Its front pocket side faces the camera at a skewed angle rather than squarely, suggesting it has been moved.",
            "state": "closed, slightly twisted, clean"
          },
          {
            "camera_use": "paired clue with humanlike unease",
            "directionality_class": "directional_3d",
            "element": "doll",
            "orientation": "The doll's face and torso are angled partly toward the lens, not fully frontal, making the shadow more unsettling.",
            "state": "still, misplaced, intact"
          },
          {
            "camera_use": "distorted silhouette revealing the objects' changed placement",
            "directionality_class": "content_surface",
            "element": "wall and floor shadow plane",
            "orientation": "The camera sees the wall-and-floor surface carrying the elongated, warped shadow of the backpack and doll.",
            "state": "dim, stretched, uncanny"
          },
          {
            "camera_use": "low tactile base anchoring the objects",
            "directionality_class": "non_directional",
            "element": "bedroom corner floor",
            "orientation": "",
            "state": "clean, quiet, hard-edged"
          }
        ],
        "lighting_mood": "A narrow, cold sidelight turns the shifted objects into muted gold-gray shapes while their shadow deepens into a folk-horror silhouette.",
        "perception_mode": "direct",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 11,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At bench height about two meters to 수리영's seaside flank, the camera holds static slightly behind her profile line, keeping her small on the left third while fog and black water stretch into the empty right side. The bench, her hunched stillness, and the vacant sea horizon form a wide negative-space composition that makes her confusion feel swallowed by the night.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "perched on bench edge",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "seat-level anchor for her isolation",
            "directionality_class": "directional_3d",
            "element": "coastal bench",
            "orientation": "The bench runs laterally across the lower frame, its side and backrest angled slightly away from the camera.",
            "state": "wet, empty except for 수리영"
          },
          {
            "camera_use": "vast negative space beyond her eyeline",
            "directionality_class": "non_directional",
            "element": "foggy sea air",
            "orientation": "",
            "state": "dense, gray, obscuring the horizon"
          },
          {
            "camera_use": "distant environmental line swallowed by mist",
            "directionality_class": "non_directional",
            "element": "shoreline darkness",
            "orientation": "",
            "state": "barely visible, damp, silent"
          },
          {
            "camera_use": "small real-world marker near the bus stop area",
            "directionality_class": "content_surface",
            "element": "bus stop sign",
            "orientation": "Its sign face is turned partly away from the camera, with any text softened by fog and distance.",
            "state": "dim, unreadable, static"
          }
        ],
        "lighting_mood": "Moist fog diffuses the streetlamp into gray-white haze, with faint sodium gold on the bench and no warmth on 수리영's face.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The viewpoint jumps to a hidden position several meters away, low behind dark foreground obstacles, looking through a narrow vertical slit toward the foggy bench and bus stop. 혜수 and 수리영 are distant midground figures divided by mist, with the obstruction occupying the left and right edges so the shot feels watched from cover rather than openly observed.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "calling after her",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C07",
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "mid-stride leaving bench",
            "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": "dark foreground obstruction forming narrow slit",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "수리영 leaving toward the road",
              "label": "혜수 near bench",
              "screen_zone": "middle_left",
              "target_id": "C05",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "coastal road beyond bus stop",
              "label": "수리영 leaving",
              "screen_zone": "middle_right",
              "target_id": "C07",
              "target_kind": "character"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "heavy covert framing device",
            "directionality_class": "directional_3d",
            "element": "dark foreground obstacles",
            "orientation": "Only their hard side edges face the camera, leaving a narrow slit through the center of the frame.",
            "state": "near-black, out of focus, blocking much of the view"
          },
          {
            "camera_use": "distant location anchor behind the watched figures",
            "directionality_class": "transparent_surface",
            "element": "fog around bus stop area",
            "orientation": "The camera sees through thick mist toward the bench and road, with figures softened by the vapor.",
            "state": "dense, wet, obscuring detail"
          },
          {
            "camera_use": "shared spatial anchor for 혜수 and 수리영",
            "directionality_class": "directional_3d",
            "element": "coastal bench",
            "orientation": "The bench is seen from an oblique distance, its backrest a low horizontal line between the two women.",
            "state": "wet, dim, partly hidden"
          },
          {
            "camera_use": "escape direction into darkness",
            "directionality_class": "non_directional",
            "element": "coastal road edge",
            "orientation": "",
            "state": "dark, slick, disappearing into fog"
          }
        ],
        "lighting_mood": "The palette is almost monochrome fog-gray with thin sodium gold halos, while the foreground obstruction remains black and predatory.",
        "perception_mode": "direct",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Very close on 김형사's side of the desk at face height, the lens sits just in front of the smartphone 혜수 thrusts forward, so the phone and her tense hand occupy the lower-middle foreground while 김형사's face stays as the near background target. The dolly-in tightens on the screen-hand gesture without letting the phone exceed natural scale; the office desk and 김형사's startled lean give the close-up its spatial reference.",
        "character_angles": [
          {
            "angle": "over_shoulder",
            "body_pose": "arm thrust forward",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_right",
            "body_pose": "leaning back from phone",
            "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": "smartphone screen in 혜수's hand",
              "screen_zone": "middle_center",
              "target_id": "P01",
              "target_kind": "prop"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "김형사's face behind phone",
              "screen_zone": "middle_right",
              "target_id": "C14",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "reaches_for",
              "gesture_target_label": "김형사's face line across the desk",
              "label": "혜수's extended arm",
              "screen_zone": "lower_left",
              "target_id": "C05",
              "target_kind": "character"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "primary information surface held between the two characters",
            "directionality_class": "content_surface",
            "element": "smartphone screen",
            "orientation": "The lit front face of the phone is angled toward 김형사 and partly toward the camera, showing the saved contact number area without becoming a full-screen device view.",
            "state": "on, close to 김형사's face, held firmly"
          },
          {
            "camera_use": "spatial barrier and workplace context",
            "directionality_class": "directional_3d",
            "element": "police office desk",
            "orientation": "The desk's top plane runs horizontally between 혜수's arm and 김형사, with the front edge low in frame.",
            "state": "cluttered, dim, night-duty stillness"
          },
          {
            "camera_use": "institutional background texture",
            "directionality_class": "content_surface",
            "element": "office notice board",
            "orientation": "Its paper-covered face is visible behind 김형사 but blurred, suggesting police paperwork without readable detail.",
            "state": "lit by fluorescent spill, out of focus"
          },
          {
            "camera_use": "cold overhead practical ambience",
            "directionality_class": "non_directional",
            "element": "fluorescent office light",
            "orientation": "",
            "state": "on, harsh, slightly green-gray"
          }
        ],
        "lighting_mood": "Greenish fluorescent light flattens the police office while the smartphone adds a small cold glow against 혜수's urgent hand and 김형사's uneasy 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": "혜수 is represented primarily by her extended arm and hand in this close gesture shot, so a full outlook reference would be unnecessarily specific for the cropped view.",
            "subject_id": "C05"
          }
        ]
      },
      {
        "camera_direction": "At the end of the office tracking move, the camera settles into a tight eye-level close-up slightly off-center in front of 혜수, isolating her face against a blurred police-office background. Her face occupies the right-center of frame, with only a soft strip of desk light and gray partitions behind her; the stillness emphasizes the single change from motion to her clenched, certain dread.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning forward tensely",
            "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, out-of-focus office geometry behind her face, creating institutional emptiness without distracting from the close-up.",
            "directionality_class": "directional_3d",
            "element": "police office desks and partitions",
            "orientation": "Desk edges and partition planes recede diagonally behind 혜수, their side faces barely readable through shallow focus.",
            "state": "dim, cluttered, night-duty quiet"
          },
          {
            "camera_use": "A cold practical glow that rims the side of her cheek and separates her from the background.",
            "directionality_class": "non_directional",
            "element": "overhead fluorescent office light",
            "orientation": "",
            "state": "on, cold, slightly flickering"
          },
          {
            "camera_use": "A damp-looking reflective fleck in the background that gives the office a tactile, late-night chill.",
            "directionality_class": "reflective_surface",
            "element": "glass office door panel",
            "orientation": "The glass faintly reflects gray fluorescent streaks and vague desk shapes, with no clear figure reflected.",
            "state": "closed, smudged"
          }
        ],
        "lighting_mood": "Low-key fluorescent gray with muted gold desk spill and a faint deep-red undertone in the shadows makes her dread feel physical and airless.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From cat-eye height beside the rooftop parapet, the camera holds a low wide exterior frame with the 검은 고양이 as a clean black silhouette on the wall in the lower-left third. The lit rooftop-room window stays several meters away in the upper-right background, softened by blue dawn mist while the wall cuts a hard horizontal line across the foreground.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "crouched on parapet",
            "character": "검은 고양이",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary horizontal foreground anchor that places the cat between the viewer and the rooftop room.",
            "directionality_class": "directional_3d",
            "element": "rooftop parapet wall",
            "orientation": "The long outer side of the wall faces the camera, running left to right as a dark slab beneath the cat.",
            "state": "damp, rough concrete"
          },
          {
            "camera_use": "Distant luminous target of the cat’s stare, held small but ominous through haze.",
            "directionality_class": "transparent_surface",
            "element": "lit rooftop room window",
            "orientation": "Fogged glass faces the camera at a slight angle; warm interior light glows through it without revealing clear occupants.",
            "state": "closed, lit from inside, hazed"
          },
          {
            "camera_use": "Atmospheric veil that separates cat silhouette from the room and deepens the occult dawn mood.",
            "directionality_class": "non_directional",
            "element": "blue dawn mist",
            "orientation": "",
            "state": "thick, cold, drifting"
          }
        ],
        "lighting_mood": "Blue-gray predawn fog swallows detail while the window burns a muted gold square, leaving the cat as a pure black omen.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 17,
        "shot_index": 1,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The cat is staged as a clean silhouette at a distance; specific outlook detail would not be visible and may undermine the graphic shape of the shot.",
            "subject_id": "C15"
          }
        ]
      },
      {
        "camera_direction": "Locked at sink eye level about three feet from the bathroom mirror, the camera frames the mirror reflection tighter than before, cropping out most of the sink and letting the reflected rear wall occupy the center. The huge red ritual circle sits inside the mirror image rather than on the real foreground plane, with the mirror frame just visible at the edges to make the impossible reflection legible.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "bathroom mirror reflection",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "red ritual circle on reflected rear wall",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Main visual field; it turns the bathroom into a reflected trap rather than a direct space.",
            "directionality_class": "reflective_surface",
            "element": "bathroom mirror",
            "orientation": "The mirror reflects the rear bathroom wall and the impossible red ritual circle, with the sink area mostly cropped away.",
            "state": "still, slightly spotted, reflective"
          },
          {
            "camera_use": "Surface where the apparition appears in reflection, making the viewer question whether it exists behind the camera.",
            "directionality_class": "content_surface",
            "element": "reflected bathroom rear wall",
            "orientation": "The reflected wall face visible in the mirror bears a large blood-red ritual circle at its center.",
            "state": "pale tile surface, apparition marked in vivid red"
          },
          {
            "camera_use": "Narrow edge cue that proves the image is a mirror view, not a direct wall shot.",
            "directionality_class": "directional_3d",
            "element": "mirror frame",
            "orientation": "Thin side edges of the frame border the image, slightly darker than the tiles.",
            "state": "fixed, damp-edged"
          }
        ],
        "lighting_mood": "Cold white bathroom light flattens the tiles while the red circle cuts through like wet pigment, creating a sterile but shamanic dread.",
        "perception_mode": "mirror",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The handheld camera pushes from chest height into a tight upward-angled close-up of 수리영, within two feet beside the dining table. Her screaming face fills the center-right of frame, while only a thin edge of the family photo remains in the lower-left corner as contextual evidence of what triggered her terror.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "clutching photo rigidly",
            "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": "Partial lower-frame context for the scream without allowing the prop to overpower her face.",
            "directionality_class": "content_surface",
            "element": "family photograph edge",
            "orientation": "Only the printed photo face is visible at the lower-left edge, its image mostly cropped and unreadable after the hallucination.",
            "state": "held tightly, slightly bent"
          },
          {
            "camera_use": "Blurred domestic anchor behind her, contrasting ordinary home space with panic.",
            "directionality_class": "directional_3d",
            "element": "living room dining table",
            "orientation": "The tabletop plane falls away behind her hands at a shallow angle.",
            "state": "still, clutter-light, domestic"
          },
          {
            "camera_use": "Soft background void that gives her scream negative space.",
            "directionality_class": "non_directional",
            "element": "muted living room wall shadow",
            "orientation": "",
            "state": "dim, gray, quiet"
          }
        ],
        "lighting_mood": "Unsteady daylight mixed with cold interior shadow washes her skin pale while faint deep-red hallucination aftertones seem to cling to the photo edge.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 14,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Under the mart awning, the camera holds at shoulder height about two meters from 남자 직원’s side profile and tilts along the diagonal of his extended arm. He occupies the lower-left midground while his pointing finger leads to the CCTV camera near the upper-right wall, making the clue feel small but decisive.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "pointing upward sharply",
            "character": "남자 직원",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "points_to",
              "gesture_target_label": "CCTV camera above the mart entrance",
              "label": "남자 직원",
              "screen_zone": "lower_left",
              "target_id": "C11",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "CCTV camera above the mart entrance",
              "screen_zone": "upper_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "points_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Target of the pointing gesture and visual proof that footage may exist.",
            "directionality_class": "directional_3d",
            "element": "CCTV camera on upper wall",
            "orientation": "The camera housing is angled downward toward the entrance area, its lens side partially facing the viewer.",
            "state": "mounted, possibly active"
          },
          {
            "camera_use": "Top-frame compression that traps the employee beneath the clue.",
            "directionality_class": "directional_3d",
            "element": "mart awning underside",
            "orientation": "The underside plane faces downward toward the camera, running diagonally over the employee.",
            "state": "open exterior cover, dull and weathered"
          },
          {
            "camera_use": "Background surface that makes the CCTV’s position readable.",
            "directionality_class": "content_surface",
            "element": "mart exterior wall",
            "orientation": "The wall face visible to camera carries the CCTV fixture and faint store grime rather than signage content.",
            "state": "pale, slightly dirty"
          }
        ],
        "lighting_mood": "Flat early daylight is cooled by the awning shadow, with muted gold storefront spill barely warming the otherwise gray exterior.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Outside near the mart entrance, the camera holds a close-medium chest-height frame directly in front of 수리영 but slightly off to one side, tightening so her upper body and phone dominate the middle of the image. The storefront and awning fall into soft background layers behind her while her unfocused stare passes beyond the lens instead of meeting it.",
        "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": "Secondary context that identifies the exterior call location without competing with her expression.",
            "directionality_class": "transparent_surface",
            "element": "mart entrance glass",
            "orientation": "The glass doors sit behind her, reflecting pale morning and showing only vague interior shelving through smudges.",
            "state": "closed or barely ajar, smudged"
          },
          {
            "camera_use": "Overhead shadow source that keeps her face in a worried, subdued register.",
            "directionality_class": "directional_3d",
            "element": "mart awning",
            "orientation": "The awning underside recedes behind her head, its front lip cutting a dark band across the top background.",
            "state": "fixed, weathered"
          },
          {
            "camera_use": "Small prop cue for the phone call to 혜수.",
            "directionality_class": "directional_3d",
            "element": "smartphone",
            "orientation": "The narrow side and dark front edge are visible against her ear, not facing the camera fully.",
            "state": "in use, screen mostly hidden"
          }
        ],
        "lighting_mood": "Cool morning gray light under the awning gives her face a damp, anxious softness with only a muted storefront warmth behind her.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Slightly behind and beside 한국인 30대 남성 보안 직원, the camera tracks into a compressed over-shoulder composition where his shoulder and chair partially block the foreground left. 수리영 is held about a meter beyond him in the midground, her clenched hands low in frame and her rigid face above them as she stares past him toward the unseen monitor.",
        "character_angles": [
          {
            "angle": "over_shoulder",
            "body_pose": "leaning toward console",
            "character": "한국인 30대 남성 보안 직원",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "hands clenched together",
            "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": "한국인 30대 남성 보안 직원",
              "screen_zone": "middle_left",
              "target_id": "C17",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "CCTV monitor beyond the security worker",
              "label": "수리영",
              "screen_zone": "middle_right",
              "target_id": "C07",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Partially visible destination of their attention, kept obscured so 수리영’s tension carries the shot.",
            "directionality_class": "content_surface",
            "element": "CCTV monitor edge",
            "orientation": "Only a sliver of the screen face is visible past the security worker, glowing with indistinct dark footage.",
            "state": "on, dim, unclear"
          },
          {
            "camera_use": "Foreground obstruction that makes the room feel cramped and investigative.",
            "directionality_class": "directional_3d",
            "element": "security desk and console",
            "orientation": "The desk’s side and top planes face the camera at a tight angle, cutting across the lower foreground.",
            "state": "crowded, functional"
          },
          {
            "camera_use": "Institutional back wall that flattens the air around 수리영.",
            "directionality_class": "content_surface",
            "element": "office notice board",
            "orientation": "The board face is visible in soft focus, carrying indistinct pinned papers and schedules.",
            "state": "cluttered, out of focus"
          }
        ],
        "lighting_mood": "Monitor glow and tired fluorescent gray flatten the room, leaving 수리영’s hands in cold shadow and her face edged with uneasy blue light.",
        "perception_mode": "direct",
        "perspective": "over_shoulder",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Beside 수리영 at eye level, the tracking move settles into a near-static close profile about sixty centimeters from her shoulder. Her side face occupies the left-center of frame while the floor drops into the lower-right negative space, following only the minimal tilt of her lowered gaze and bitten lip.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "shoulders folded inward",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Visual destination of her lowered gaze and emotional collapse.",
            "directionality_class": "non_directional",
            "element": "office floor tiles",
            "orientation": "",
            "state": "dull, scuffed, cold gray"
          },
          {
            "camera_use": "Soft peripheral reminder of the failed CCTV review without becoming the focus.",
            "directionality_class": "content_surface",
            "element": "monitor glow off to side",
            "orientation": "The screen face is outside clear view, casting a faint rectangular light from the side.",
            "state": "on, blurred"
          },
          {
            "camera_use": "Background compression behind her profile.",
            "directionality_class": "directional_3d",
            "element": "security office wall corner",
            "orientation": "Two wall planes meet behind her in shallow focus, closing the space around her.",
            "state": "plain, dim"
          }
        ],
        "lighting_mood": "A cold monitor wash grazes her cheek while the rest of the room falls into gray-green office shadow, dry and hopeless.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the far side of the police-office entrance, the camera holds a static eye-level wide shot across the emptied bullpen toward 수리영 alone at 혜수’s desk. She is small in the middle distance, seated amid vacant desks and abandoned workstations, with the frame kept wide enough that absence becomes the dominant pressure.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "perched at desk chair",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Large negative-space field that isolates 수리영 after the detectives leave.",
            "directionality_class": "directional_3d",
            "element": "empty police office desks",
            "orientation": "Rows of desk fronts and side panels recede from the entrance toward 혜수’s desk, creating a hollow aisle.",
            "state": "vacant, cluttered, suddenly quiet"
          },
          {
            "camera_use": "Primary environmental anchor where 수리영 waits and where the disturbing photos lie.",
            "directionality_class": "directional_3d",
            "element": "혜수’s desk",
            "orientation": "The desk front faces the camera from the background-middle area, with its top plane just visible.",
            "state": "occupied by papers and photos"
          },
          {
            "camera_use": "Exit-side frame that makes the shot feel watched from a distance.",
            "directionality_class": "transparent_surface",
            "element": "police office entrance glass",
            "orientation": "The entrance glass edge is near camera, faintly showing reflections and the deeper office beyond.",
            "state": "open or partly open, smudged"
          }
        ],
        "lighting_mood": "Daytime fluorescent gray drains the office of warmth, with muted gold desk lamps left as weak islands in a field of institutional emptiness.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At seated eye height beside 혜수’s desk, the dolly-in completes into a tight close-up of 수리영’s frozen face as she looks down at the photographs just below frame. Her widened eyes and tense mouth fill the center, while the lower edge of the frame carries only the blurred suggestion of glossy case photos, keeping the horror implied rather than fully shown.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "hunched over photographs",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Implied source of her shock, kept below-frame and blurred to make her reaction primary.",
            "directionality_class": "content_surface",
            "element": "disturbing case photographs",
            "orientation": "The glossy printed faces of the photos angle upward from the desk edge, but their gruesome contents remain mostly out of focus.",
            "state": "spread messily, handled"
          },
          {
            "camera_use": "Work surface that grounds the close-up in 혜수’s police desk rather than a neutral portrait space.",
            "directionality_class": "directional_3d",
            "element": "desk surface",
            "orientation": "The tabletop plane cuts across the lower foreground, angled slightly downward away from camera.",
            "state": "cluttered with documents"
          },
          {
            "camera_use": "Soft off-screen cue that will motivate the next pan toward the monitor.",
            "directionality_class": "content_surface",
            "element": "distant computer monitor glow",
            "orientation": "The monitor face is not yet framed clearly, but its pale light spills from the side of the office.",
            "state": "on, newly active"
          }
        ],
        "lighting_mood": "Cold office fluorescents flatten her skin while the glossy photo edges catch sickly highlights, pushing the palette toward foggy gray and buried red dread.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "A static, perpendicular flat-screen insert sits directly in front of the detective’s monitor, with no visible office depth or bezel distractions. The sea map is treated like an evidentiary graphic: the red location point holds the visual center while the coordinate lines and offline status sit legibly around it, all compressed into a cold digital plane.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "red GPS point on sea map",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "coordinate and offline status text",
              "screen_zone": "lower_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary flat graphic field; the camera reads it as the entire shot surface.",
            "directionality_class": "content_surface",
            "element": "detective's monitor display",
            "orientation": "The front face of the screen is visible to camera, showing a digital sea map with a red GPS point, coordinates, timestamp, source, and offline status.",
            "state": "on, crisp but slightly clinical"
          },
          {
            "camera_use": "Graphic focal anchor in the center of the insert.",
            "directionality_class": "content_surface",
            "element": "red location point and coordinate overlay",
            "orientation": "The visible front-facing digital overlay places the red dot over open water with coordinate text arranged nearby.",
            "state": "active, bright red against muted map tones"
          }
        ],
        "lighting_mood": "Cold monitor glow dominates, with gray-blue map light punctured by the ominous red location marker.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera tracks backward directly in front of the moving bicycle, locked about two feet from 수리영’s face at eye level, tightening beyond the stage default so her sweat-beaded skin and hard forward stare occupy nearly the whole frame. The bicycle motion is felt only through tiny vertical tremors and blurred police-station frontage sliding behind her, while her face remains brutally centered.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "pedaling hard seated",
            "character": "수리영",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "road ahead beyond camera",
              "label": "수리영 on bicycle",
              "screen_zone": "middle_center",
              "target_id": "C07",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft motion blur behind her face, providing speed and departure context.",
            "directionality_class": "directional_3d",
            "element": "police station frontage",
            "orientation": "The exterior façade faces the camera but is heavily defocused behind the moving subject.",
            "state": "daylit, receding in blur"
          },
          {
            "camera_use": "Thin lower-frame motion reference for the bicycle without overtaking the face.",
            "directionality_class": "directional_3d",
            "element": "bicycle handlebar edges",
            "orientation": "Only cropped side portions angle inward from the lower frame, confirming forward travel.",
            "state": "moving, partially cropped"
          }
        ],
        "lighting_mood": "Hard daylight is muted into a gray, anxious palette, with sweat highlights catching pale reflections on her cheeks.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 22,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At chest height beside the printer, the camera tracks with 수리영’s hands as she draws out and unfolds the freshly printed island map, holding a beat longer before any downward drift toward the backpack begins. Her upper body sits to one side of frame while the dense black coastlines and island contours spread across the center, with the printer mouth still visible at the edge as the source of the evidence.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "unfolding printed pages",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Source of the printed evidence, kept at frame edge to connect action to output.",
            "directionality_class": "directional_3d",
            "element": "PC café printer",
            "orientation": "The paper output slot faces diagonally toward camera, with the machine body receding sideways.",
            "state": "on, recently printing"
          },
          {
            "camera_use": "Primary readable object in her hands; held long enough for dense geography to register.",
            "directionality_class": "content_surface",
            "element": "freshly printed island map",
            "orientation": "The printed face is angled toward camera, showing clustered island shapes, route-like lines, and coordinate-related map detail.",
            "state": "fresh, slightly curled from printing"
          },
          {
            "camera_use": "Dim location context behind her without distracting from the map.",
            "directionality_class": "content_surface",
            "element": "PC café monitor rows",
            "orientation": "The front faces of distant screens are turned away or blurred, contributing only cool rectangular glow.",
            "state": "on, out of focus"
          }
        ],
        "lighting_mood": "Fluorescent PC-room light mixes with monitor cyan, flattening the room while the white paper catches a colder, investigative glare.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 23,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Mounted just below eye level less than a meter in front of the bicycle, the camera holds an unforgiving rain-lashed close-up of 수리영’s face as she rides into it. The frame excludes almost everything but clenched jaw, wet hair, and fixed eyes, with only streaking rain and a tremor of bicycle movement betraying the coastal road around her.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "driving pedals forward",
            "character": "수리영",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "stormy coastal road ahead",
              "label": "수리영 riding through rain",
              "screen_zone": "middle_center",
              "target_id": "C07",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Transparent moving veil between camera and subject, making the image tactile and punishing.",
            "directionality_class": "transparent_surface",
            "element": "heavy rain curtain",
            "orientation": "Rain sheets pass in front of the lens while the subject remains visible through broken streaks of water.",
            "state": "dense, wind-driven"
          },
          {
            "camera_use": "Defocused environmental smear behind her head, indicating the shore route without opening the frame.",
            "directionality_class": "non_directional",
            "element": "storm-dark coastal road background",
            "orientation": "",
            "state": "blurred, soaked"
          },
          {
            "camera_use": "Low-frame kinetic reference before the later drop toward the wheel.",
            "directionality_class": "directional_3d",
            "element": "bicycle frame edges",
            "orientation": "Cropped metal lines angle upward from the lower frame toward her body.",
            "state": "moving, wet"
          }
        ],
        "lighting_mood": "Storm light turns the palette slate gray and green-black, with rain highlights flashing white across her skin like ritual streaks.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 24,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From chest height inside the trashed living room, the camera faces the entrance head-on and begins a restrained dolly-in to an upper-body frame of 수리영 frozen at the threshold. She is centered but squeezed by the doorway edges, wet hair clutched in one hand, mouth parted, while the wrecked room remains visible enough to feel like it has just exhaled around her.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "gripping wet hair",
            "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": "Vertical frame around her body, turning the entrance into a trap-like border.",
            "directionality_class": "directional_3d",
            "element": "living room entrance doorframe",
            "orientation": "The inner sides of the doorway face the camera, enclosing 수리영 from both edges.",
            "state": "open, damp from her arrival"
          },
          {
            "camera_use": "Background disorder visible around her shoulders, supporting the shock reaction.",
            "directionality_class": "directional_3d",
            "element": "overturned dining chairs",
            "orientation": "Chair legs and backs point at mismatched angles toward camera, creating jagged silhouettes behind her.",
            "state": "knocked over, disordered"
          },
          {
            "camera_use": "Uneasy depth and possible intrusion route in the rear of the room.",
            "directionality_class": "transparent_surface",
            "element": "open living room window",
            "orientation": "The open transparent pane and dark gap show dim exterior air beyond, with moisture on the frame.",
            "state": "open, wet-edged"
          },
          {
            "camera_use": "Low visual evidence of an intruder, partly visible below the tight upper-body framing.",
            "directionality_class": "content_surface",
            "element": "muddy footprints on floor",
            "orientation": "The floor surface faces upward toward camera, carrying dark footprint marks leading through the room.",
            "state": "wet, smeared"
          }
        ],
        "lighting_mood": "Late dusk seeps through the open window in blue-gray strips, while the room’s deep red-brown shadows make her pale wet face feel exposed.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Just inside the dark bedroom doorway at eye level, the camera holds a dead-centered, square-on wide composition of the far wall before the push-in begins. The huge red painted circle sits like a flat occult diagram in the middle of the frame, with the pinned photograph at its center kept small but unmistakably magnetic.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "huge red circle on bedroom wall",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "old photograph pinned at circle center",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Oppressive graphic focal plane, flattened by the square-on lens position.",
            "directionality_class": "content_surface",
            "element": "bedroom wall with red painted circle",
            "orientation": "The camera sees the wall’s painted face straight on, with a large red circle centered around a pinned photograph.",
            "state": "dark, marked with fresh-looking red paint"
          },
          {
            "camera_use": "Small central lure within the painted circle, preparing the next push-in.",
            "directionality_class": "content_surface",
            "element": "old photograph pinned to wall",
            "orientation": "The front face of the photograph is visible at the exact center of the red circle, though its image details are not yet fully readable.",
            "state": "pinned, stained"
          },
          {
            "camera_use": "Black border framing the reveal from the room entrance.",
            "directionality_class": "directional_3d",
            "element": "dark bedroom doorway",
            "orientation": "The inner doorframe edges face the camera from close foreground, boxing the far wall.",
            "state": "half-open, unlit"
          }
        ],
        "lighting_mood": "A low dusk spill barely grazes the wall, leaving the room in charcoal shadow while the red circle absorbs the eye like dried blood.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "A hand-height macro insert lies nearly parallel to the old photograph’s surface, making the faded restaurant, roof-top circular marker, and two seated girls dominate the frame. 수리영’s hands are only implied by soft, cropped edges, so the photograph reads less like a prop and more like a contaminated memory-object caught under glassless, aging paper grain.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "seated before restaurant",
            "character": "한국인 어린 소녀",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "facing_camera",
            "body_pose": "seated beside friend",
            "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 image surface; the lens studies its printed content rather than the surrounding room.",
            "directionality_class": "content_surface",
            "element": "old faded photograph",
            "orientation": "The photograph’s front face is visible to camera, showing an old countryside restaurant, a circular roof marker, and two young girls seated in front.",
            "state": "aged, faded, slightly stained"
          },
          {
            "camera_use": "Key symbolic detail inside the photograph, held sharp within the macro plane.",
            "directionality_class": "content_surface",
            "element": "circular marker on restaurant roof",
            "orientation": "The printed face of the photo shows a round sign-like form mounted above the roofline, centered high in the image.",
            "state": "faded but legible"
          },
          {
            "camera_use": "Tactile boundary hinting that the photo is being held, without stealing scale from the print.",
            "directionality_class": "non_directional",
            "element": "cropped fingertips at photo edges",
            "orientation": "",
            "state": "barely visible, tense"
          }
        ],
        "lighting_mood": "Muted gold-brown paper tones are contaminated by dull red stains and cool room shadow, giving the archival image a ritual unease.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 8,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The girls are depicted as small figures inside an archival photograph rather than as present, individually identifiable live subjects; exact outlook reference would over-specify the printed image.",
            "subject_id": "C19"
          }
        ]
      },
      {
        "camera_direction": "From waist height on the wet harbor rocks about eight meters behind 수리영, the camera holds a wider-than-default static view over her hunched back toward the fog-smothered empty harbor. She occupies a small lower portion of frame, surrounded by slick black rocks and negative space, while the open water dissolves into gray nothingness ahead.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "crouched on rocks",
            "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 texture and physical isolation platform beneath her body.",
            "directionality_class": "non_directional",
            "element": "wet harbor rocks",
            "orientation": "",
            "state": "slick, dark, rain-washed"
          },
          {
            "camera_use": "Dominant negative space swallowing the horizon and hiding boats.",
            "directionality_class": "transparent_surface",
            "element": "dense harbor fog",
            "orientation": "The camera looks through thick fog that partially erases the pier, waterline, and any distant vessels.",
            "state": "heavy, drifting"
          },
          {
            "camera_use": "Emptiness beyond her gaze, forming the emotional void of the shot.",
            "directionality_class": "non_directional",
            "element": "open harbor water",
            "orientation": "",
            "state": "calm, obscured by mist"
          }
        ],
        "lighting_mood": "Post-rain dusk flattens everything into damp foggy gray, with only faint muted gold dying behind the mist.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the pier edge, the handheld camera stays at chest height but slightly low, about a meter and a half from 수리영, tightened to her upper body as she steps toward the boat and looks up. 인우 remains higher in the background on the boat, framed past her shoulder and dock ropes, making their exchange feel uneven and unstable without breaking the flow’s pier-side angle.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "one step forward",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C20",
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "holding mooring rope",
            "character": "인우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C07",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "man on the boat",
              "label": "수리영 at pier edge",
              "screen_zone": "lower_left",
              "target_id": "C07",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "looks_toward",
              "gesture_target_label": "girl on the pier",
              "label": "인우 on boat",
              "screen_zone": "upper_right",
              "target_id": "C20",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Raised plane behind 수리영 that places 인우 above her eyeline.",
            "directionality_class": "directional_3d",
            "element": "boat gunwale and deck edge",
            "orientation": "The side of the boat faces the camera at a slight diagonal, with the deck sitting higher than the pier.",
            "state": "wet, recently arrived"
          },
          {
            "camera_use": "Foreground and midground lines that divide the two characters.",
            "directionality_class": "directional_3d",
            "element": "dock ropes",
            "orientation": "Ropes cut diagonally between pier and boat, their length receding from lower frame toward 인우.",
            "state": "taut, damp"
          },
          {
            "camera_use": "Soft background erasure around the boat, keeping the harbor uncanny.",
            "directionality_class": "transparent_surface",
            "element": "fog around pier",
            "orientation": "The camera sees the boat and figures through a thin, shifting fog layer.",
            "state": "thick but thinning near the dock"
          }
        ],
        "lighting_mood": "Cold gray fog light wraps both figures, while damp ropes and boat edges catch low white highlights against deep marine shadows.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "On the pier facing 수리영 from close medium distance, the static camera holds between mouth and eye height with the fog-heavy sea directly behind her. Her smartphone rises from the lower edge close to her mouth, taking only the lower foreground while her face and the blank sea remain the emotional center of the frame.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "phone near mouth",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Primary negative-space backdrop behind her farewell message.",
            "directionality_class": "transparent_surface",
            "element": "fog-heavy sea",
            "orientation": "The camera looks past 수리영 into dense sea fog that hides the horizon and distant boats.",
            "state": "opaque, gray, motionless"
          },
          {
            "camera_use": "Wet linear base holding her in place before departure.",
            "directionality_class": "directional_3d",
            "element": "pier surface",
            "orientation": "The top plane of the pier angles away behind her feet, mostly out of focus below frame level.",
            "state": "wet, dark"
          },
          {
            "camera_use": "Lower-frame communication object tied to the voice message.",
            "directionality_class": "directional_3d",
            "element": "smartphone near her mouth",
            "orientation": "The phone’s narrow side and dark front edge angle upward from the lower frame toward her lips.",
            "state": "on or recording, wet-specked"
          }
        ],
        "lighting_mood": "Flat fog light drains the color to gray-white, with her skin and the phone edged by faint cold highlights against the blank sea.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From just inside the rooftop living-room entrance, the camera holds an eye-level wide observer view slightly broader than the flow’s default, about four meters from 혜수 across the wrecked room. 혜수 is centered but small enough to show her full body amid overturned clutter, phone pressed to her ear; damp walls, scattered objects, and empty floor space occupy nearly half the frame, making her isolation feel exposed rather than heroic.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "phone pressed to ear",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Spatial chaos around 혜수, defining the room’s violated state and leaving uneasy negative space around her.",
            "directionality_class": "non_directional",
            "element": "messy rooftop-room floor",
            "orientation": "",
            "state": "strewn with overturned household items and damp debris"
          },
          {
            "camera_use": "Back wall texture catches the low dusk light and frames 혜수 as a trapped figure.",
            "directionality_class": "directional_3d",
            "element": "stained living-room wall",
            "orientation": "The wall face behind 혜수 is visible square-on, with peeling patches and moisture marks facing camera.",
            "state": "dirty, damp, dim"
          },
          {
            "camera_use": "Small practical detail reinforcing the phone-message beat without overtaking the frame.",
            "directionality_class": "directional_3d",
            "element": "smartphone at 혜수’s ear",
            "orientation": "Its thin side edge faces camera, pressed between her hand and cheek.",
            "state": "active but screen not visible"
          }
        ],
        "lighting_mood": "Low-key dusk light in foggy gray and muted gold leaks through the room, leaving deep red-brown shadows in the clutter.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 27,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Continuing the lateral track from 혜수’s side, the camera settles at eye level into a medium view about 1.8 meters from 김형사, favoring his upper body and the crooked pull of his mouth. 혜수 remains only as a soft sliver at the extreme frame edge, phone still near her cheek, so the changed axis is the gaze exchange: 김형사 turns toward her while the room’s disorder stays peripheral.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "shoulders angled toward 혜수",
            "character": "김형사",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C05",
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "phone clutched to ear",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C14",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Soft, messy backdrop behind 김형사, preserving the rooftop-room tension without distracting from his reaction.",
            "directionality_class": "non_directional",
            "element": "cluttered living-room background",
            "orientation": "",
            "state": "out of focus, disordered"
          },
          {
            "camera_use": "A narrow edge element that hints at the coming door-rattle beat beyond the characters.",
            "directionality_class": "directional_3d",
            "element": "old metal entrance door edge",
            "orientation": "Only the side edge of the door area is glimpsed at the far background, not yet the main focus.",
            "state": "closed or nearly closed, unstable in the wind"
          },
          {
            "camera_use": "Foreground occlusion that identifies 혜수’s side of the conversation while keeping 김형사 primary.",
            "directionality_class": "directional_3d",
            "element": "혜수’s blurred shoulder line",
            "orientation": "Her shoulder and phone-side cheek are seen from behind at the frame edge.",
            "state": "soft-focused, partially cropped"
          }
        ],
        "lighting_mood": "Gray dusk wash and weak interior shadow carve 김형사’s face, with a muted gold rim catching the sneer at his mouth.",
        "perception_mode": "direct",
        "perspective": "over_shoulder",
        "pov_character": "",
        "scene_index": 27,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the end of the dolly-in on the deck, the camera locks into a direct eye-level close-up just in front of 인우, compressing the sea and deck into a smeared dusk background. His face occupies most of the frame, widened eyes and open mouth held against a thin lower-frame suggestion of the photograph, making the shot feel like a blunt confrontation rather than his POV.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "frozen over photograph",
            "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": "faded photograph edge",
              "screen_zone": "lower_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "faded photograph edge",
              "label": "인우",
              "screen_zone": "middle_center",
              "target_id": "C20",
              "target_kind": "character"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "A low blurred cue explaining what has frozen 인우 without stealing emphasis from his face.",
            "directionality_class": "content_surface",
            "element": "faded photograph",
            "orientation": "The printed image face is angled upward below the lens, only partially visible at the lower edge.",
            "state": "old, worn, slightly curled"
          },
          {
            "camera_use": "Compressed dusk backdrop that removes safe distance and traps his reaction against open water.",
            "directionality_class": "non_directional",
            "element": "boat deck behind 인우",
            "orientation": "",
            "state": "blurred, damp, darkening"
          },
          {
            "camera_use": "Background horizon texture, flattened by the close lens into an uneasy gray-gold band.",
            "directionality_class": "non_directional",
            "element": "sea at sunset",
            "orientation": "",
            "state": "distant, soft-focused, lightly rippled"
          }
        ],
        "lighting_mood": "Cold sea-gray dusk wraps his face while a muted gold horizon reflection barely warms the skin, heightening panic rather than comfort.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the wheelhouse threshold, the handheld camera holds chest-to-shoulder height and angles back toward 수리영 as she catches 인우’s forearm near the controls. 수리영 is favored in the left foreground, both hands locked around his arm as her weight pulls backward; 인우 cuts diagonally toward the right midground, partly turned away, with the wheelhouse controls squeezed into the upper-right background.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "pulling backward on forearm",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C20",
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "lunging toward controls",
            "character": "인우",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "reaches_for",
              "gesture_target_label": "Inwoo's forearm",
              "label": "수리영",
              "screen_zone": "lower_left",
              "target_id": "C07",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "wheelhouse controls",
              "label": "인우",
              "screen_zone": "middle_right",
              "target_id": "C20",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "wheelhouse controls",
              "screen_zone": "upper_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Hard spatial boundary where the struggle jams, framing the bodies tightly.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse threshold",
            "orientation": "The doorframe sides angle inward toward the controls, boxing the figures into the cabin entrance.",
            "state": "open, cramped, weathered"
          },
          {
            "camera_use": "Destination of 인우’s lunge, kept visible enough to clarify why 수리영 stops him.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse controls",
            "orientation": "The control panel’s front face is angled away to the right background, reachable but blocked by the struggle.",
            "state": "dim, active, worn"
          },
          {
            "camera_use": "Slick texture under the bodies, giving the handheld scuffle a dangerous instability.",
            "directionality_class": "non_directional",
            "element": "wet deck threshold floor",
            "orientation": "",
            "state": "damp, scuffed, low-lit"
          }
        ],
        "lighting_mood": "The cabin mixes bruised gray dusk with a weak amber instrument glow, catching sweat and damp fabric in jittering low-key contrast.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the side of the dim wheelhouse at shoulder height, the camera holds a medium-wide profile composition parallel to 수리영 and 인우’s locked bodies. Both figures form a tense horizontal knot across the center: 수리영 on the left gripping into him, 인우 on the right bracing back, their shoulders and forearms clearly visible as one strained shape.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "gripping Inwoo's shoulder",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C20",
            "subject_state": "alive"
          },
          {
            "angle": "profile_left",
            "body_pose": "bracing against 수리영",
            "character": "인우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C07",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Compressed interior plane behind the standoff, holding the bodies against occult-looking cabin marks without yet making the wall primary.",
            "directionality_class": "content_surface",
            "element": "marked wheelhouse wall",
            "orientation": "The marked interior face is seen obliquely behind them, with partial circular stains and scrawls visible but not centered.",
            "state": "dim, stained, crowded with marks"
          },
          {
            "camera_use": "Practical cabin geometry trapping the confrontation in a narrow side-on corridor.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse side frame",
            "orientation": "The side frame runs vertically along the image edge, its inner face visible to camera.",
            "state": "weathered, closed-in, shadowed"
          },
          {
            "camera_use": "Low marine texture beneath their feet, suggesting the boat’s unstable physical pressure.",
            "directionality_class": "non_directional",
            "element": "cabin floor",
            "orientation": "",
            "state": "damp, scuffed, dark"
          }
        ],
        "lighting_mood": "Low-key blue-gray dusk and muted red-brown shadows flatten the cabin into a tense, airless box with small gold glints on wet surfaces.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "After the pan leaves the people, the camera settles five feet from the inner wheelhouse wall at eye level, lens perpendicular to the surface for a flat, graphic hold. The giant red circle sits dead center and takes roughly one third of the frame, surrounded edge-to-edge by smaller round markings, so the composition feels like an occult diagram revealed in plain sight.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "large red circle on inner wall",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary graphic revelation, held frontally so the symbol reads as an intentional sign rather than random grime.",
            "directionality_class": "content_surface",
            "element": "inner wheelhouse wall with circular markings",
            "orientation": "The marked face of the wall is square to camera, showing many round symbols and stains across its surface.",
            "state": "dirty, damp, densely marked"
          },
          {
            "camera_use": "Central omen anchoring the composition and overpowering the surrounding circles without exceeding natural wall scale.",
            "directionality_class": "content_surface",
            "element": "large red circle",
            "orientation": "The painted red face of the circle is fully visible on the wall, centered among smaller markings.",
            "state": "fresh-looking, vivid, ominously clean-edged"
          },
          {
            "camera_use": "Peripheral pattern that makes the central red circle feel ritualistic and repeated.",
            "directionality_class": "content_surface",
            "element": "smaller round wall signs",
            "orientation": "Their marked faces are visible around the central circle, some faded and some partially smeared.",
            "state": "varied, smudged, old"
          }
        ],
        "lighting_mood": "A dim gray cabin wash lets the red pigment burn against white-stained wall tones, with muted gold dusk barely grazing the damp surface.",
        "perception_mode": "direct",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From a low waterline observer position just ahead and slightly off-center of the old fishing boat, the camera holds still as the bow sits half-swallowed by the immense fog barrier. The bow occupies the lower-left to middle frame as a dark, weathered wedge, while the fog rises across the center and upper frame like a blank wall, leaving only thin sunset water reflections as scale reference.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "old fishing boat bow",
              "screen_zone": "lower_left",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "enormous fog barrier",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary threshold object, showing the vessel crossing into the unnatural boundary.",
            "directionality_class": "directional_3d",
            "element": "old fishing boat bow",
            "orientation": "The front bow face and one angled side are visible from low off-center, with its nose already disappearing into fog.",
            "state": "weathered, wet, half-obscured"
          },
          {
            "camera_use": "Dominant environmental wall that erases depth and swallows the boat without showing entry motion.",
            "directionality_class": "transparent_surface",
            "element": "dense fog barrier",
            "orientation": "The fog is semi-opaque; the bow vanishes into it and no clear horizon is visible beyond.",
            "state": "thick, towering, motionless-looking"
          },
          {
            "camera_use": "Low reflective plane carrying the last sunset color and grounding the scale of the boat.",
            "directionality_class": "reflective_surface",
            "element": "gold-tinged sea surface",
            "orientation": "The rippled water reflects muted gold sunset and gray fog in broken streaks around the bow.",
            "state": "darkening, gently rippled, cold"
          }
        ],
        "lighting_mood": "Muted gold sunset reflections die into foggy gray, with the boat reduced to a damp black silhouette at the border of the unknown.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 30,
        "shot_index": 3,
        "subject_reference_policy": []
      }
    ],
    "total": 57,
    "failed_batches": 0
  },
  "step_id": "shot_staging",
  "run_id": "a3a52879-e99b-47fa-bad4-208bb64bbfab",
  "resolved_model": "gpt",
  "updated_at": "2026-06-18T10:38:23.131658+00:00",
  "schema_version": 6,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}