{
  "status": "completed",
  "completed_count": 58,
  "applicable_count": 58,
  "failed_count": 0,
  "data": {
    "shots": [
      {
        "camera_direction": "A neutral observer camera inherits the low parallel pursuit path, moving at shoulder height about twelve feet to the man’s left, held slightly wider to keep his full body in profile as he tears through the brush. He sits across the middle of frame with one lifted bare foot clearly separated from the dark forest floor, while the missing shoe and blood trailing from his bitten thigh read in the rear edge of the tracking blur.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "mid-stride foot lifted",
            "character": "한국인 남자",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "right side of the forest path",
              "label": "fleeing Korean man",
              "screen_zone": "middle_center",
              "target_id": "C07",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Dense foreground and midground brush whip past the lens, creating streaked occlusion around the running body.",
            "directionality_class": "non_directional",
            "element": "dense wet undergrowth",
            "orientation": "",
            "state": "damp, tangled, violently disturbed"
          },
          {
            "camera_use": "The uneven ground anchors the lifted bare foot and makes the missing shoe feel dangerous.",
            "directionality_class": "non_directional",
            "element": "muddy forest floor",
            "orientation": "",
            "state": "dark, slick, scattered with leaves"
          },
          {
            "camera_use": "Vertical trunks slide behind him as motion parallax, emphasizing speed and isolation.",
            "directionality_class": "directional_3d",
            "element": "thin forest trunks",
            "orientation": "trunks show narrow side silhouettes against the camera’s lateral track",
            "state": "wet bark, blue-gray in dusk"
          }
        ],
        "lighting_mood": "Dusk is rendered in cold blue-gray fog with small sickly amber breaks through the canopy, and the blood reads as restrained crimson against the muted greens.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The handheld camera stays on the flow’s close three-quarter front position at chest height, about six feet from the man, but tilts more sharply upward as the impact enters from above. The man’s arched torso occupies the lower center and right of frame, while the airborne black silhouette crashes down from the upper left, the composition compressing both bodies at the instant of collision.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "bending backward on impact",
            "character": "남자",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C14",
            "subject_state": "severely_injured"
          },
          {
            "angle": "looking_away",
            "body_pose": "airborne pouncing downward",
            "character": "검은 인영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Blurred branches slash across the upper frame, making the descending shape feel partially hidden until contact.",
            "directionality_class": "non_directional",
            "element": "overhanging branches",
            "orientation": "",
            "state": "wet, dark, motion-smeared"
          },
          {
            "camera_use": "The forest floor drops away behind the man, increasing the sense that he is being driven backward.",
            "directionality_class": "non_directional",
            "element": "leaf-covered ground",
            "orientation": "",
            "state": "dim, muddy, uneven"
          },
          {
            "camera_use": "Tree trunks form broken vertical bars in the background, trapping the figures visually.",
            "directionality_class": "directional_3d",
            "element": "background tree trunks",
            "orientation": "thin side faces and dark vertical edges face the camera at oblique angles",
            "state": "shadowed and damp"
          }
        ],
        "lighting_mood": "Blue dusk shadow dominates, with a faint amber rim catching wet leaves and a brief crimson smear from the wound during the handheld jolt.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 3,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The attacking figure is meant to register as an occult black mass rather than a readable identity; no facial or costume specificity should be forced.",
            "subject_id": "C14"
          }
        ]
      },
      {
        "camera_direction": "The camera holds exactly on the flow’s eye-level frontal reveal, one meter from the man by the utility pole, as though a neutral witness has been pulled too close to retreat. His face fills most of the frame, centered so the red glowing eyes sit on the horizontal midline, with the pole and alley darkness reduced to shallow-focus strips at the edges.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "head lifting sharply",
            "character": "남자",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "red-eyed man face",
              "screen_zone": "middle_center",
              "target_id": "C06",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "The pole is a hard vertical edge just behind the cheek, pinning the face in place.",
            "directionality_class": "directional_3d",
            "element": "utility pole",
            "orientation": "round weathered side faces the camera, partly cropped behind the man",
            "state": "old, stained, damp"
          },
          {
            "camera_use": "A dim sodium streetlight motivates the sick amber glint on skin and eyes.",
            "directionality_class": "directional_3d",
            "element": "alley streetlight",
            "orientation": "lamp head is angled down toward the alley, mostly out of focus above frame edge",
            "state": "on, weak and flickering"
          },
          {
            "camera_use": "The wet alley wall creates a narrow dark background plane behind the close face.",
            "directionality_class": "non_directional",
            "element": "wet alley wall",
            "orientation": "",
            "state": "dirty, blue-black, slick"
          }
        ],
        "lighting_mood": "A sick amber practical grazes his face from above while the alley falls into blue-gray shadow, allowing the red eyes to burn unnaturally without turning the shot glossy.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera follows the flow’s retreating three-quarter side position at waist-to-chest height, widening just enough to catch the woman’s full body in the middle of collapse. She folds diagonally from upper left toward the wet lower center of frame, the alley floor visible beneath her so the fall feels heavy and final.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "folding toward pavement",
            "character": "여자",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "wet alley floor",
              "label": "collapsing woman",
              "screen_zone": "middle_center",
              "target_id": "C09",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "wet alley floor below her",
              "screen_zone": "lower_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "The slick pavement beneath her gives the collapse a clear destination and catches faint reflections.",
            "directionality_class": "reflective_surface",
            "element": "wet alley floor",
            "orientation": "the surface reflects broken amber streetlight and the falling body as smeared dark shapes",
            "state": "wet, grimy, uneven"
          },
          {
            "camera_use": "The utility pole remains behind her as the spatial anchor from the earlier struggle.",
            "directionality_class": "directional_3d",
            "element": "utility pole",
            "orientation": "its side faces camera from a three-quarter angle near the background",
            "state": "old, stained, static"
          },
          {
            "camera_use": "Trash and wall clutter bracket the fall without obscuring the body.",
            "directionality_class": "non_directional",
            "element": "alley refuse and stained wall",
            "orientation": "",
            "state": "dirty, damp, dim"
          }
        ],
        "lighting_mood": "The retreat opens a cold blue-gray alley with a weak amber pool under the pole, leaving the woman’s body half-swallowed by shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Seen through a local news-camera image, the shot remains at chest height inside the police perimeter, eight feet from the detective group and slightly off-center to the side of Hyesu’s pointing arm. The frame is tighter than the stage default: Hyesu’s upper torso occupies the center, her extended finger cuts toward the right edge, and blurred detectives form a tense wall behind her.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "arm extended pointing",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "points_to",
              "gesture_target_label": "forensic spot inside the crime scene",
              "label": "Hyesu pointing",
              "screen_zone": "middle_center",
              "target_id": "C02",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "forensic spot inside the crime scene",
              "screen_zone": "middle_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "points_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "The police line remains soft but readable at the edge, reminding us this is an active cordoned scene.",
            "directionality_class": "content_surface",
            "element": "police line tape",
            "orientation": "the printed warning side faces partly toward camera, readable in fragments along the frame edge",
            "state": "stretched, slightly twisted, damp"
          },
          {
            "camera_use": "Detectives behind Hyesu become a dark human backdrop that centralizes her command.",
            "directionality_class": "non_directional",
            "element": "detective group background",
            "orientation": "",
            "state": "clustered, out of focus, tense"
          },
          {
            "camera_use": "Crime-scene ground detail lies in the direction of her finger, treated as the unseen anchor of attention.",
            "directionality_class": "non_directional",
            "element": "forensic work area",
            "orientation": "",
            "state": "muddy, disturbed, partially covered"
          }
        ],
        "lighting_mood": "Flat daylight is dirtied with broadcast compression, damp gray shadows, and muted yellow police-site highlights, preserving a documentary unease.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 3,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "An omniscient overhead camera holds from about forty-five meters above the old villa, centered on the rooftop room while still keeping the surrounding neighborhood readable. The rooftop structure sits in the middle of the frame like a small exposed shrine, boxed in by worn roofs, narrow alleys, and faded concrete blocks.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "old rooftop room",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "The rooftop room is the central visual anchor and destination of the aerial reveal.",
            "directionality_class": "directional_3d",
            "element": "old rooftop room exterior",
            "orientation": "its roof and front wall are visible from above, with the doorway side angled slightly toward camera",
            "state": "aged, patched, weather-stained"
          },
          {
            "camera_use": "Surrounding villa roofs create a cramped grid that isolates the rooftop room.",
            "directionality_class": "directional_3d",
            "element": "neighboring old villa rooftops",
            "orientation": "flat roof planes face upward toward the overhead camera",
            "state": "worn, cluttered, pale gray"
          },
          {
            "camera_use": "A thin haze softens the outskirts and carries the news voice’s unease into the space.",
            "directionality_class": "non_directional",
            "element": "damp urban haze",
            "orientation": "",
            "state": "thin, bluish, stagnant"
          }
        ],
        "lighting_mood": "Daylight is overcast and desaturated, with blue-gray concrete shadows and faint sickly amber window stains breaking the neighborhood’s cold isolation.",
        "perception_mode": "direct",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 4,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The observer camera settles at the end of its lateral track from near the sink and small window, chest height and about two and a half meters from Minsuk, looking across the counter line toward the living room TV. Minsuk is held in an upper-body frame at the right-middle of the image, shoulders locked in her apron as the kitchen foreground remains softly present and the TV glow pulls her stare off-frame.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "frozen by TV",
            "character": "민숙",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "The TV is the off-frame source of her fixed attention and casts a cold news glow across the room.",
            "directionality_class": "content_surface",
            "element": "living room TV screen",
            "orientation": "the screen face is angled away from the camera, showing only a sliver of moving blue news light rather than readable content",
            "state": "on, low volume, flickering"
          },
          {
            "camera_use": "The sink and herbs sit in the near foreground, domestic routine interrupted by dread.",
            "directionality_class": "directional_3d",
            "element": "sink with unfinished medicinal herbs",
            "orientation": "the basin rim and faucet side face the camera across the counter",
            "state": "water running, herbs wet and half-washed"
          },
          {
            "camera_use": "Steam from the pot veils the compact room and gives the practical light a sick texture.",
            "directionality_class": "non_directional",
            "element": "boiling pot steam",
            "orientation": "",
            "state": "rising, thin, wavering"
          },
          {
            "camera_use": "The small window gives a narrow daylight slit that contrasts with the TV’s colder glow.",
            "directionality_class": "transparent_surface",
            "element": "small living-room window",
            "orientation": "slightly dirty glass admits pale daylight; only a blurred exterior brightness is visible through it",
            "state": "closed, dusty"
          }
        ],
        "lighting_mood": "Cold TV blue fights a weak amber kitchen practical and pale window light, turning the cramped home into a damp, anxious interior.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera follows the flow into the narrow entrance area and holds side-on at shoulder height, about one meter away, lens parallel to the wall to compress mother and daughter together. The tighter profile frame favors the contact point: Suriyeong’s face and nose press into Minsuk’s shoulder at center-left, while Minsuk’s softened profile and apron edge sit center-right.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "nose buried in shoulder",
            "character": "수리영",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "profile_left",
            "body_pose": "shoulder softened, smiling",
            "character": "민숙",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "The narrow wall flattens the space and makes their closeness feel private and fragile.",
            "directionality_class": "non_directional",
            "element": "entrance wall",
            "orientation": "",
            "state": "worn, slightly yellowed, close to camera plane"
          },
          {
            "camera_use": "The shoe area at the bottom edge hints at Suriyeong leaving soon without pulling focus from the embrace.",
            "directionality_class": "directional_3d",
            "element": "entryway shoe area",
            "orientation": "shoe tops and low threshold edge face the camera from below the profiles",
            "state": "cluttered, dim"
          },
          {
            "camera_use": "The door seam creates a vertical boundary beside them, suggesting a moment just before departure.",
            "directionality_class": "directional_3d",
            "element": "front door seam",
            "orientation": "the flat door face is seen in side compression, seam running vertically near the right edge",
            "state": "closed, dull, scuffed"
          }
        ],
        "lighting_mood": "Soft domestic amber from the room mixes with cool daylight spill near the entrance, giving the affectionate pause a muted warmth under thriller-gray shadows.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera completes the flow’s downward push from Suriyeong’s side of the entrance to a very close waist-height insert, about twenty centimeters from Minsuk’s inner wrist. The wrist cuts diagonally across the center of frame, the small circular mark isolated in sharp focus while skin, sleeve edge, and the entryway behind fall into creamy blur.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "wrist angled outward",
            "character": "민숙",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Minsuk inner wrist mark",
              "screen_zone": "middle_center",
              "target_id": "C04",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "The marked skin surface is the focal plane and occult reveal.",
            "directionality_class": "content_surface",
            "element": "inner wrist with circular mark",
            "orientation": "the inner wrist surface faces the camera, showing a small dark circular mark clearly against the skin",
            "state": "exposed, sharply focused, mark unusually distinct"
          },
          {
            "camera_use": "The sleeve cuff frames the wrist without becoming the subject.",
            "directionality_class": "directional_3d",
            "element": "apron or sleeve edge",
            "orientation": "fabric edge runs along the wrist from camera-left, seen as a soft side fold",
            "state": "soft, worn, out of focus"
          },
          {
            "camera_use": "The entrance background becomes an indistinct shadow field so the symbol carries the tension.",
            "directionality_class": "non_directional",
            "element": "blurred entryway background",
            "orientation": "",
            "state": "dim, warm-gray, unfocused"
          }
        ],
        "lighting_mood": "A small amber domestic highlight grazes the skin while the surrounding frame sinks into blue-gray softness, making the circular mark feel quietly ritualistic.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 12,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The shot isolates Minsuk’s wrist and occult mark rather than her full appearance; a base identity reference is enough and outlook-specific facial guidance would not align with the frame.",
            "subject_id": "C04"
          }
        ]
      },
      {
        "camera_direction": "The camera tracks parallel to Suriyeong from the ocean side of the road, chest height and about four meters away, holding a clean side full-body profile as she pedals. She rides left-to-right through the middle of frame, one foot pressing the pedal down, with extra negative space behind her head so her wind-blown hair reads clearly against the coast.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "pressing pedal downward",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "right side of the coastal road",
              "label": "Suriyeong on bicycle",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "coastal road direction",
              "screen_zone": "middle_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "The guardrail slides behind her as a horizontal motion guide separating road and sea.",
            "directionality_class": "directional_3d",
            "element": "coastal guardrail",
            "orientation": "its long side faces the camera in lateral perspective, receding toward frame right",
            "state": "weathered, pale, sun-dulled"
          },
          {
            "camera_use": "The ocean gives open space and a bright contrast before the coming dog bark interrupts it.",
            "directionality_class": "non_directional",
            "element": "distant sea haze",
            "orientation": "",
            "state": "bright, breezy, blue-gray"
          },
          {
            "camera_use": "The asphalt road anchors the bicycle wheels and keeps the motion physically grounded.",
            "directionality_class": "non_directional",
            "element": "coastal asphalt road",
            "orientation": "",
            "state": "dry, sunlit, slightly rough"
          }
        ],
        "lighting_mood": "Daylight is comparatively clear but kept desaturated, with cool sea blues and a faint amber sun edge on her hair to preserve the thriller’s restrained palette.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 6,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the low three-quarter kennel-aisle position inherited from the flow, the lens holds at floor level about five feet from the subdued rottweiler, slightly wider and lower so the full body, flattened posture, and lowered tail read in one frame. The dog lies in the middle ground across the frame, with kennel bars receding diagonally on both sides and the camera feeling as if it has just finished tilting down with the animal’s surrender.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "lying low, tail tucked",
            "character": "로트와일러",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Creates a rigid foreground/midground cage geometry around the dog and emphasizes confinement.",
            "directionality_class": "directional_3d",
            "element": "kennel aisle bars",
            "orientation": "The side faces of the metal bars angle away from camera on both left and right, forming a narrowing corridor around the rottweiler.",
            "state": "closed, damp, scratched metal"
          },
          {
            "camera_use": "Provides scale beneath the dog and catches the low, sickly light.",
            "directionality_class": "non_directional",
            "element": "concrete kennel floor",
            "orientation": "",
            "state": "wet-streaked, dirty, cold"
          },
          {
            "camera_use": "Adds dim institutional depth behind the calm body without distracting from it.",
            "directionality_class": "transparent_surface",
            "element": "rear kennel mesh",
            "orientation": "The mesh is visible as a grimy see-through grid, with blurred cage interiors beyond it.",
            "state": "closed, stained, slightly rusted"
          }
        ],
        "lighting_mood": "Cold blue-gray shelter shadows are cut by weak amber practical spill, making the damp floor glint while the rottweiler’s black body sinks into the muted occult-thriller palette.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The tracking move settles into the flow’s eye-level frontal hold about four feet from 수리영, tightening enough that her pressed mouth and restrained concern dominate while the caged dogs remain mostly off-axis along her sightline. She occupies the center of the frame from the chest up, the kennel corridor falling away behind her in soft, barred blue-gray depth rather than becoming the focus.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "shoulders tightened forward",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft, off-axis cage presence frames her emotional burden without taking focus.",
            "directionality_class": "directional_3d",
            "element": "side kennel cages",
            "orientation": "Their barred sides run along both edges of frame, angled away from camera so the interiors are only partially visible.",
            "state": "closed, damp, crowded in suggestion"
          },
          {
            "camera_use": "Adds rough shelter texture behind her face.",
            "directionality_class": "non_directional",
            "element": "stained concrete wall",
            "orientation": "",
            "state": "mottled, blue-gray, moisture-marked"
          },
          {
            "camera_use": "Provides sickly practical color against the cooler kennel shadows.",
            "directionality_class": "directional_3d",
            "element": "overhead fluorescent fixture",
            "orientation": "The underside of the fixture faces the aisle and throws light downward over 수리영’s hair and cheekbones.",
            "state": "on, flickering faintly"
          }
        ],
        "lighting_mood": "A wan fluorescent wash mixes with sour amber backlights, leaving her face cool and tense against a damp institutional gloom.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Following the flow, the camera tracks backward from slightly ahead and left of 수리영 at bicycle-handlebar height, widened so her full body and the bicycle remain visible as she rides through the commercial road. She sits on the saddle in the middle of the frame with one knee bent down onto the pedal, neon signs and pojangmacha stalls sliding past in the background while pedestrians and taxis skim the frame edges without blocking her.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "pressing bicycle pedal",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Sets the dusk commercial atmosphere and gives moving color streaks behind her ride.",
            "directionality_class": "content_surface",
            "element": "neon shop signs",
            "orientation": "The illuminated sign faces point toward camera from both sides of the street, showing blurred Korean lettering and colored icon shapes.",
            "state": "on, rain-hazed, oversaturated"
          },
          {
            "camera_use": "Creates layered foreground movement and warm practical pockets around the road.",
            "directionality_class": "directional_3d",
            "element": "street food stalls",
            "orientation": "Their open serving sides face the street, with awnings and counters angled toward the passing camera.",
            "state": "open, steaming, amber-lit"
          },
          {
            "camera_use": "Adds urban motion and scale around the bicycle.",
            "directionality_class": "directional_3d",
            "element": "taxis along the road",
            "orientation": "Their side panels and headlights pass obliquely behind 수리영 as the camera tracks backward.",
            "state": "moving slowly, headlights on"
          },
          {
            "camera_use": "Reflects neon and gives the street a damp occult-thriller texture.",
            "directionality_class": "reflective_surface",
            "element": "wet asphalt",
            "orientation": "The road surface reflects broken bands of neon, taxi headlights, and amber stall light beneath the bicycle wheels.",
            "state": "damp, dark, uneven"
          }
        ],
        "lighting_mood": "Dusk blue shadows are smeared with neon reds, greens, and sickly amber stall light, giving the busy street a humid, uneasy glow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the supermarket aisle, the camera holds static at shoulder height, perpendicular to the shelf line and about two meters away, preserving the flow’s clean lateral two-shot. 수리영 is on the left in profile facing the 여성 직원 on the right, with stocked shelves forming horizontal bands behind them and aisle traffic minimized so the question about her mother lands plainly.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "leaning forward slightly",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C17",
            "subject_state": "alive"
          },
          {
            "angle": "profile_left",
            "body_pose": "pausing beside shelf",
            "character": "여성 직원",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Creates the side-on geometry and anchors the conversation in the employee’s work area.",
            "directionality_class": "directional_3d",
            "element": "supermarket shelving",
            "orientation": "The long shelf faces run horizontally behind both speakers, with product fronts facing the aisle and camera in shallow perspective.",
            "state": "stocked, orderly, fluorescent-lit"
          },
          {
            "camera_use": "Provides mundane realism against the tense question.",
            "directionality_class": "content_surface",
            "element": "price tags on shelf edge",
            "orientation": "The printed price faces are visible to camera as small colored strips along the shelf lip.",
            "state": "attached, legible only as graphic blocks"
          },
          {
            "camera_use": "Adds cold commercial overhead wash.",
            "directionality_class": "directional_3d",
            "element": "ceiling light panels",
            "orientation": "Their lit undersides face downward over the aisle, flattening the faces while leaving corners blue-gray.",
            "state": "on, harsh, clean"
          }
        ],
        "lighting_mood": "Flat supermarket fluorescents are cooled toward blue-gray, with faint amber spill from distant entrance lights making the ordinary aisle feel subtly wrong.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Outside the supermarket entrance, the handheld camera stays chest-high one to two meters in front of 수리영 and slightly to her right, moving backward as she steps away before settling briefly on the phone held in the lower third. The frame remains an upper-body composition: her furrowed face occupies the upper center while the phone stays small and realistic below, then focus breathes back from the screen to her worried expression.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "walking while checking phone",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Backlights her exit and reflects the street outside behind her.",
            "directionality_class": "transparent_surface",
            "element": "supermarket glass doors",
            "orientation": "The glass is smudged and transparent enough to show the bright store interior behind her, while also catching faint street reflections.",
            "state": "closed behind her, smudged, brightly lit"
          },
          {
            "camera_use": "Creates unstable color around her anxiety.",
            "directionality_class": "content_surface",
            "element": "exterior neon signage",
            "orientation": "The sign face is visible above and behind her as a blurred colored block of lettering.",
            "state": "on, buzzing, rain-softened"
          },
          {
            "camera_use": "Grounds her movement and reflects the phone and storefront light.",
            "directionality_class": "reflective_surface",
            "element": "wet sidewalk",
            "orientation": "The pavement reflects broken white supermarket light and amber street glow beneath her steps.",
            "state": "damp, gritty, uneven"
          }
        ],
        "lighting_mood": "Cool storefront light washes her face from behind while neon and amber street spill flicker across the handheld frame, making the phone check feel exposed and anxious.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera inherits the low parallel tracking position on the sea-facing side, tightened at handlebar height two to three meters from 수리영 so her side silhouette snaps against the dark ocean. At the exact beat her foot drives the pedal downward, she cuts across the middle of the frame in profile, hair and clothing blown sharply backward while the sea remains a broad negative-space backdrop.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "driving pedal downward",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "road ahead along the coastline",
              "label": "수리영 riding bicycle",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Provides the dark negative space that sharpens her silhouette.",
            "directionality_class": "non_directional",
            "element": "night sea",
            "orientation": "",
            "state": "black-blue, wind-ruffled, barely visible"
          },
          {
            "camera_use": "Gives speed cues beneath the bicycle and stretches the direction of travel.",
            "directionality_class": "directional_3d",
            "element": "coastal road edge",
            "orientation": "The road line runs horizontally through the lower frame, parallel to the bicycle’s motion.",
            "state": "dark, damp, lightly reflective"
          },
          {
            "camera_use": "Adds sparse practical highlights without brightening the scene.",
            "directionality_class": "directional_3d",
            "element": "distant harbor lights",
            "orientation": "Small light sources face the coastline from far background, appearing as broken dots behind her silhouette.",
            "state": "on, blurred, amber-white"
          }
        ],
        "lighting_mood": "Her body is cut into a hard blue-black silhouette by distant harbor glints and a faint sickly amber road spill, with the sea swallowing most detail.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 9,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the end of the flow’s dolly-in, the lens freezes just outside the iron door at handle height, only inches from the seam, staring directly into the thin opening. The dark crack sits in the center like a vertical wound, with rough iron surfaces on both sides occupying the foreground while the interior beyond remains unreadable and almost lightless.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "narrow iron door seam",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary focal aperture; turns the entry into a threatening slit rather than a normal doorway.",
            "directionality_class": "directional_3d",
            "element": "iron front door",
            "orientation": "The two heavy door edges face camera at close range, separated by a narrow central crack leading into darkness.",
            "state": "slightly open, scratched, cold metal"
          },
          {
            "camera_use": "Hides what is inside and makes the gap feel predatory.",
            "directionality_class": "non_directional",
            "element": "dark interior beyond the crack",
            "orientation": "",
            "state": "unlit, opaque, silent"
          },
          {
            "camera_use": "Adds tactile evidence of forced entry near the seam.",
            "directionality_class": "content_surface",
            "element": "creased advertisement flyer edge",
            "orientation": "Only the printed edge of the paper face is visible near the door seam, with partial color blocks and unreadable text.",
            "state": "bent, partly displaced, dirty"
          }
        ],
        "lighting_mood": "A thin blue rooftop ambient line skims the iron while the interior remains dead black, with only a trace of sickly amber leaking from somewhere unseen.",
        "perception_mode": "direct",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the room, the camera holds static near the side wall at shoulder height, angled so only the window glass carries the action as a reflection and the direct attack is never seen. The reflected silhouettes sit within the window frame: a bent 인영 in the upper-middle area lowers its head toward the shoulder of 사람, whose body buckles beneath it in a distorted, wavering mid-action shape.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "hunched over shoulder",
            "character": "인영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C20",
            "subject_state": "alive"
          },
          {
            "angle": "profile_left",
            "body_pose": "buckling under lunge",
            "character": "사람",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "window reflection containing silhouettes",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Serves as the only visible surface for the attack, keeping violence indirect and distorted.",
            "directionality_class": "reflective_surface",
            "element": "room window glass",
            "orientation": "The glass reflects the bent 인영 and 사람 as warped dark silhouettes, with faint interior light streaks trembling across them.",
            "state": "closed, grimy, reflective in darkness"
          },
          {
            "camera_use": "Frames the reflection and prevents the viewer from seeing the real bodies directly.",
            "directionality_class": "directional_3d",
            "element": "window frame",
            "orientation": "The frame’s inner edges face camera and box the reflected action into a rigid rectangle.",
            "state": "old, chipped, motionless"
          },
          {
            "camera_use": "Adds low, diseased color to the reflected silhouettes.",
            "directionality_class": "directional_3d",
            "element": "dim interior practical light",
            "orientation": "The lamp’s shaded side is off-frame but its amber spill grazes the wall and window reflection.",
            "state": "on, weak, sickly amber"
          },
          {
            "camera_use": "Keeps the room claustrophobic around the window surface.",
            "directionality_class": "non_directional",
            "element": "dark side wall",
            "orientation": "",
            "state": "rough, stained, blue-gray shadowed"
          }
        ],
        "lighting_mood": "The reflected action is almost monochrome blue-black, broken by a weak amber practical smear and restrained crimson-brown shadow at the shoulder line.",
        "perception_mode": "reflection",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 6,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The figure is seen only as a distorted reflected silhouette; no stable identity or outlook detail should be required.",
            "subject_id": "C19"
          },
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The attacked person is visible only as a vague reflected body shape, so a generic silhouette reference is more appropriate than an outlook-specific identity reference.",
            "subject_id": "C20"
          }
        ]
      },
      {
        "camera_direction": "Midway up the narrow concrete staircase, the camera holds static very close to 수리영 from the front-left at face height, tightening into an intense close-up that leaves only a sliver of stair texture behind her. Her nose wrinkles hard at the sudden smell, eyes lifting toward the unseen rooftop landing while her halted climb compresses her shoulders into the frame.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "halted mid-stair climb",
            "character": "수리영",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Minimal background texture that preserves the stair location without diluting the reaction.",
            "directionality_class": "directional_3d",
            "element": "narrow concrete staircase",
            "orientation": "Only the side edge and riser texture angle behind her cheek, indicating the upward path to the rooftop.",
            "state": "dark, damp, rough"
          },
          {
            "camera_use": "Creates a suffocating side boundary close to her face.",
            "directionality_class": "non_directional",
            "element": "stairwell wall",
            "orientation": "",
            "state": "stained, cold, blue-gray"
          },
          {
            "camera_use": "Suggests the unseen source direction through faint light above.",
            "directionality_class": "non_directional",
            "element": "rooftop darkness above the stairs",
            "orientation": "",
            "state": "unseen, heavy, foul implied"
          }
        ],
        "lighting_mood": "A cold blue-gray stairwell wash sculpts her face while a faint amber rooftop spill catches the bridge of her nose, making the smell reaction feel physical and ominous.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "After the hard eyeline cut, the camera adopts 수리영’s direct viewpoint from the rooftop landing, several meters from the entrance and at human eye level, facing the iron front door squarely. The half-open door is held in rigid symmetry at the center of the frame, surrounded by still rooftop darkness, with no figure entering to relieve the threat.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "half-open rooftop iron door",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Central reveal and source of unease, held motionless after her smell reaction.",
            "directionality_class": "directional_3d",
            "element": "rooftop room iron front door",
            "orientation": "The door faces camera squarely but hangs half-open, exposing a narrow black interior gap along one side.",
            "state": "half-open, frozen, scratched"
          },
          {
            "camera_use": "Frames the doorway in isolated negative space.",
            "directionality_class": "non_directional",
            "element": "rooftop landing darkness",
            "orientation": "",
            "state": "still, damp, blue-black"
          },
          {
            "camera_use": "Adds rough domestic rooftop texture without drawing attention from the door.",
            "directionality_class": "directional_3d",
            "element": "low rooftop wall",
            "orientation": "Its top edge runs horizontally across the lower background, barely lit against the night.",
            "state": "wet-stained, concrete, motionless"
          }
        ],
        "lighting_mood": "Muted moon-blue darkness surrounds the door, with a thin sickly amber leak from inside making the opening feel contaminated rather than welcoming.",
        "perception_mode": "direct",
        "perspective": "subjective_pov",
        "pov_character": "수리영",
        "scene_index": 11,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the low waist-height position outside the bedroom doorway, the camera holds completely still about three feet back, peering through the opened door gap toward the dark red blood pooled on the floor just beyond the threshold. The door edges form a narrow vertical frame on both sides, with the blood occupying the lower middle of the image and the dim bedroom receding into blue-gray darkness behind it; this is a neutral observer’s direct view, not a character POV.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Foreground framing device that restricts the view into the room.",
            "directionality_class": "directional_3d",
            "element": "opened bedroom door",
            "orientation": "The inner edge of the door faces the camera at an oblique angle, creating a narrow gap into the room.",
            "state": "open, still, shadowed"
          },
          {
            "camera_use": "Primary visual focus on the floor just inside the doorway.",
            "directionality_class": "non_directional",
            "element": "dark red blood pool",
            "orientation": "",
            "state": "wet, thick, spread across the floor"
          },
          {
            "camera_use": "Texture under the blood and scale reference for the room.",
            "directionality_class": "non_directional",
            "element": "bedroom floor",
            "orientation": "",
            "state": "dirty, damp-looking, partially covered by blood"
          }
        ],
        "lighting_mood": "Muted blue-gray shadows swallow the room while a sickly amber spill from the living area catches the wet blood with restrained crimson highlights.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At eye level directly in front of 수리영, the handheld camera compresses tighter than the stage distance until her pale face nearly fills the frame, backing away only a fraction as her shock freezes mid-recoil. The background is almost lost in darkness, with only a faint suggestion of the room’s black edges behind her; the view remains a direct observer angle, but the proximity feels invasive and breathless.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "frozen mid-recoil",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영 terrified face",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Nearly swallowed background plane behind her face.",
            "directionality_class": "non_directional",
            "element": "dark bedroom recess",
            "orientation": "",
            "state": "unlit, indistinct"
          },
          {
            "camera_use": "Soft edge shadow that isolates her head from the room.",
            "directionality_class": "directional_3d",
            "element": "bedroom doorway edge",
            "orientation": "A narrow side edge catches minimal spill light behind her shoulder.",
            "state": "partially visible, shadowed"
          }
        ],
        "lighting_mood": "Cold blue darkness wraps her face while a weak amber practical glints in her widened eyes, leaving her skin drained and waxy.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From low bedside height near the mattress edge, the camera completes its upward tilt and locks off on the dark wall above the bed, where a completed red circular mark sits in the upper middle of frame. The bed edge remains only as a thin lower strip for scale, while the wall becomes an oppressive flat plane; this is aligned with 수리영’s panicked perception, the image subtly treated as an occult hallucination rather than stable reality.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Primary occult surface holding the completed mark.",
            "directionality_class": "content_surface",
            "element": "dark wall above the bed",
            "orientation": "The camera-facing wall face is visible, carrying a vivid red circular mark at its center.",
            "state": "dark, stained-looking, marked"
          },
          {
            "camera_use": "Lower frame scale reference beneath the wall.",
            "directionality_class": "directional_3d",
            "element": "bed edge",
            "orientation": "The side edge of the mattress faces the camera from below, cropped into a narrow horizontal band.",
            "state": "dim, still, partly obscured"
          },
          {
            "camera_use": "Symbolic focal mark on the wall.",
            "directionality_class": "content_surface",
            "element": "red circular mark",
            "orientation": "The painted-looking face of the circle is fully visible to the camera, as if freshly drawn into the wall surface.",
            "state": "bright red, wet-looking, completed"
          }
        ],
        "lighting_mood": "The room falls into blue-black shadow while the red circle seems to bleed its own sick crimson glow against faint amber residue from off-screen practical light.",
        "perception_mode": "hallucination",
        "perspective": "subjective_pov",
        "pov_character": "수리영",
        "scene_index": 12,
        "shot_index": 15,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Beside the police car at chest height, the tracking move slows into a held upper-body frame on 혜수 as she has just stepped out, her body paused between the car and the alley. 수리영 appears farther down the alley in soft background focus, small and blank beneath flashing siren wash, while 혜수 occupies the left foreground in a tense three-quarter view; this is a direct observer view moving parallel with her discovery.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "half-stepping from car",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "stalled mid-alley",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "수리영 down the alley",
              "label": "혜수 by police car",
              "screen_zone": "middle_left",
              "target_id": "C02",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영 in alley",
              "screen_zone": "middle_right",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Foreground context and flashing light source beside 혜수.",
            "directionality_class": "directional_3d",
            "element": "police car",
            "orientation": "The side of the car and open door angle toward the camera, framing 혜수’s exit.",
            "state": "parked, door open, siren lights active"
          },
          {
            "camera_use": "Depth corridor between 혜수 and 수리영.",
            "directionality_class": "directional_3d",
            "element": "narrow alley",
            "orientation": "The alley recedes diagonally from the police car toward 수리영 in the background.",
            "state": "wet, dark, foggy"
          },
          {
            "camera_use": "Intermittent color wash across faces and walls.",
            "directionality_class": "non_directional",
            "element": "siren light spill",
            "orientation": "",
            "state": "flashing red-blue across damp surfaces"
          }
        ],
        "lighting_mood": "Strobing police red-blue cuts through damp fog, mixing with dirty amber streetlight and cold coastal shadows.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera sits low near 수리영’s eye level, about one meter away, tightened into a still close composition as she lifts her face toward 혜수 just above the frame. 수리영 holds the lower center of the image, her upward eyeline creating the unseen presence of 혜수, while the wet alley background blurs into dark blue-gray; this is a direct observer angle from the space between them.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "chin lifted trembling",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "혜수 just above frame",
              "label": "수리영 close low frame",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft, dark background texture behind 수리영’s head.",
            "directionality_class": "non_directional",
            "element": "wet alley wall",
            "orientation": "",
            "state": "damp, shadowed, out of focus"
          },
          {
            "camera_use": "Atmospheric layer around her face.",
            "directionality_class": "non_directional",
            "element": "night fog",
            "orientation": "",
            "state": "thin, drifting, blue-gray"
          },
          {
            "camera_use": "Off-screen motivated color pulse on her skin.",
            "directionality_class": "non_directional",
            "element": "police siren spill",
            "orientation": "",
            "state": "intermittent, faint"
          }
        ],
        "lighting_mood": "Cold misty shadows dominate her face, interrupted by brief red-blue siren pulses and a weak amber street glow along her jaw.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Just inside 수리영’s bedroom doorway at eye level, the camera holds a wide, unmoving view inward toward the bed, bare wall, curtain, and spotless floor. The room is framed as evidence: the clean floor stretches across the lower half, the curtain line sits to one side where the body should have been, and the wall above the bed remains blank; this is a direct neutral observation of absence.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary proof of erased violence across the lower frame.",
            "directionality_class": "non_directional",
            "element": "spotless bedroom floor",
            "orientation": "",
            "state": "clean, dry, no blood marks"
          },
          {
            "camera_use": "Central room anchor and comparison point for the missing wall mark.",
            "directionality_class": "directional_3d",
            "element": "bed",
            "orientation": "The side and top plane of the bed face the camera from mid-frame.",
            "state": "neatly made, undisturbed"
          },
          {
            "camera_use": "Surface where the red circle should have been absent.",
            "directionality_class": "content_surface",
            "element": "wall above the bed",
            "orientation": "The camera-facing wall face is visible and completely bare, carrying no red circular mark.",
            "state": "clean, dark, unmarked"
          },
          {
            "camera_use": "Empty area where the hidden body had been discovered earlier.",
            "directionality_class": "directional_3d",
            "element": "curtain line",
            "orientation": "The front folds face the camera from the side of the room, concealing only darkness and empty space behind.",
            "state": "hanging still, clean, no body visible"
          }
        ],
        "lighting_mood": "The room is washed in unnaturally clean blue-gray shadow with thin sick amber spill, making the absence feel colder than darkness.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the bedroom near the bed and curtain side, the dolly-in ends in a frontal upper-body emphasis on 수리영, close enough that her pale face and rigid shoulders take most of the frame. She looks past the camera toward the empty curtain area, which is kept implied rather than shown, turning the direct observer view into a psychological confrontation with the missing evidence.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "frozen mid-breath",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "empty curtain area behind camera",
              "label": "수리영 frontal close frame",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Blurred side texture suggesting where the corpse should have been.",
            "directionality_class": "directional_3d",
            "element": "curtain edge",
            "orientation": "Only a soft side fold is visible near the frame edge, with the empty area kept off-camera.",
            "state": "still, clean, partially out of focus"
          },
          {
            "camera_use": "Low background shape behind her shoulder.",
            "directionality_class": "directional_3d",
            "element": "bed corner",
            "orientation": "The near corner angles away behind 수리영, cropped and subdued.",
            "state": "neat, undisturbed"
          },
          {
            "camera_use": "Absence marker behind her expression.",
            "directionality_class": "content_surface",
            "element": "blank wall",
            "orientation": "The visible wall face behind her is bare and carries no red mark.",
            "state": "unmarked, dim"
          }
        ],
        "lighting_mood": "A drained blue-gray wash flattens her skin while weak amber practical light grazes one cheek, leaving the clean room feeling forensic and unreal.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At chest height beside the dining table, the camera settles from the track into a brief still side composition perpendicular to 수리영’s body line. Her profile holds the left half of frame while her pointing hand cuts toward the bare tabletop on the right, keeping both the gesture and the missing teacups in one direct observational image.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "pointing over tabletop",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "points_to",
              "gesture_target_label": "bare dining tabletop",
              "label": "수리영 pointing beside table",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "bare dining tabletop",
              "screen_zone": "middle_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "points_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Gesture target proving the vanished cups.",
            "directionality_class": "directional_3d",
            "element": "bare dining table",
            "orientation": "The clean top plane faces the camera at a shallow angle, with no cups where her finger indicates.",
            "state": "clean, empty, dry"
          },
          {
            "camera_use": "Dim living-room depth behind the table.",
            "directionality_class": "directional_3d",
            "element": "living room wall and doorway",
            "orientation": "The wall and doorway recede behind 수리영 in side view.",
            "state": "shadowed, quiet"
          },
          {
            "camera_use": "Soft ambient source in the room.",
            "directionality_class": "directional_3d",
            "element": "living room stand lamp",
            "orientation": "The lamp shade is seen from the side, its warm face turned slightly away from camera.",
            "state": "on, weak amber"
          }
        ],
        "lighting_mood": "Sick amber practical light pools over the empty tabletop while blue-gray shadows isolate her profile and trembling hand.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the seaward side of the bus stop at chest height, the camera holds a wide profile full-body view of 수리영 on the bench, several meters away, with the dark ocean and misty shelter occupying far more negative space than she does. She sits small along the lower third, turned sideways to the camera, while damp fog and the black water flatten the horizon behind her; the perspective feels voyeuristic, as if someone is watching without intervening.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "slumped on bench edge",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary environmental void behind 수리영.",
            "directionality_class": "non_directional",
            "element": "dark night sea",
            "orientation": "",
            "state": "black, barely moving, fog-muted"
          },
          {
            "camera_use": "Architectural frame around the bench.",
            "directionality_class": "directional_3d",
            "element": "bus stop shelter",
            "orientation": "The open side of the shelter faces the camera in profile, framing 수리영 against its wet posts.",
            "state": "damp, empty, dim"
          },
          {
            "camera_use": "Seat anchoring her small figure in the wide frame.",
            "directionality_class": "directional_3d",
            "element": "bus stop bench",
            "orientation": "The long side of the bench runs horizontally across the lower frame in profile.",
            "state": "wet, cold, occupied by 수리영"
          },
          {
            "camera_use": "Atmospheric veil that softens distance and isolates the stop.",
            "directionality_class": "non_directional",
            "element": "coastal fog",
            "orientation": "",
            "state": "humid, drifting, blue-gray"
          }
        ],
        "lighting_mood": "Cold marine blue-gray dominates, with a weak sodium-amber bus stop glow barely warming the bench and leaving the sea as a black mass.",
        "perception_mode": "direct",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Low beside the bench at hand height, just forward of 수리영’s knees, the dolly-in tightens into an insert-like close-up as 혜수’s hand offers a drink can into the space between them. The can and hand sit in the center foreground without exceeding natural scale, while 수리영’s lap and knees remain at the edge as a muted reference; this is a direct, intimate observer view from within arm’s reach.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning in offering can",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "hands slack on knees",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary offered object at hand height.",
            "directionality_class": "directional_3d",
            "element": "drink can",
            "orientation": "The cylindrical side faces the camera at a slight angle, label indistinct in low light.",
            "state": "unopened, cold, held out"
          },
          {
            "camera_use": "Support plane beneath the characters’ hands and knees.",
            "directionality_class": "directional_3d",
            "element": "wet bench seat",
            "orientation": "The top slats run diagonally beneath the hands and knees, catching tiny highlights.",
            "state": "damp, dark, occupied"
          },
          {
            "camera_use": "Soft background texture beyond the hand exchange.",
            "directionality_class": "transparent_surface",
            "element": "foggy bus stop air",
            "orientation": "The humid haze partially veils the darker shelter and sea beyond the bench.",
            "state": "misty, low visibility"
          }
        ],
        "lighting_mood": "A dull amber shelter light skims the metal can while cold sea-blue fog desaturates both women’s hands into a tense, damp stillness.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 3,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The shot prioritizes 혜수’s hand and the drink can, with little usable facial identity detail; a base identity reference is enough while outlook matching may overconstrain the close hand framing.",
            "subject_id": "C02"
          },
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "수리영 is present mainly as knees and lap at the edge of frame, so the shot should not require a full outlook reference.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "From the coastal road beyond the bus stop, the camera holds chest-high several meters from 혜수, looking back at her in an upper-body medium frame as if the road itself has stopped watching the chase. 혜수 sits slightly right of center with cupped hands at her mouth, her gaze firing past the lens into the mist where 수리영 has run, while the bus stop edge and wet roadside recede in soft blur behind her.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "cupped hands at mouth",
            "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": "soft rear context suggesting the place 혜수 has been left behind",
            "directionality_class": "directional_3d",
            "element": "coastal bus stop shelter",
            "orientation": "its side edge faces camera obliquely, with the bench mostly swallowed by fog",
            "state": "empty, damp, dim"
          },
          {
            "camera_use": "negative space in the direction of 혜수’s call",
            "directionality_class": "non_directional",
            "element": "misty coastal road",
            "orientation": "",
            "state": "wet, blue-gray, nearly deserted"
          },
          {
            "camera_use": "ambient horizon texture behind the road",
            "directionality_class": "non_directional",
            "element": "night sea fog",
            "orientation": "",
            "state": "dense and cold, reducing depth visibility"
          }
        ],
        "lighting_mood": "Cold blue-gray sea haze wraps the frame while a weak amber roadside practical grazes 혜수’s cheek and hands, making her shout feel small and isolated.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the dim police office just beyond the doorway, the camera starts at chest height about six feet in front of 혜수 and holds her tighter than a normal entry shot, framing her upper body as she stops near the threshold. She is slightly left of center, phone pressed to her ear, with the old office readable around her in shadowed layers of desks, file stacks, and dull glass partitions.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "phone pressed to ear",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "entry-line frame and spatial anchor behind 혜수",
            "directionality_class": "directional_3d",
            "element": "police office doorway",
            "orientation": "the open doorframe faces camera from behind her, marking the threshold she has just crossed",
            "state": "open, paint worn"
          },
          {
            "camera_use": "dark office context around the subject",
            "directionality_class": "directional_3d",
            "element": "old duty desks",
            "orientation": "desk fronts and cluttered top planes angle away into the room",
            "state": "messy, tired, half-lit"
          },
          {
            "camera_use": "murky practical texture in the background",
            "directionality_class": "transparent_surface",
            "element": "dirty interior glass partition",
            "orientation": "smudged glass partly reveals deeper desks and filing cabinets beyond",
            "state": "streaked, dusty"
          }
        ],
        "lighting_mood": "Sickly amber desk lamps and failing greenish fluorescents mix with blue-black shadows, giving 혜수’s face a hard, ominous stillness.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At eye level beside 혜수, the camera completes the dolly-in into a sharper side angle, only three feet from her extended arm as the phone screen slices diagonally from the left foreground toward 김형사 at the desk. 혜수’s shoulder and thrusting hand occupy the near plane, while 김형사 remains seated in the right midground, forced to receive the demand across the cluttered desk line.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "arm thrusting phone",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C05",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "seated at cluttered desk",
            "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": "foreground vector and confrontation focal point",
            "directionality_class": "content_surface",
            "element": "lit phone screen",
            "orientation": "the bright front face is angled toward 김형사 and partly toward camera, implying the saved number on display without making it fully legible",
            "state": "on, held close to lens"
          },
          {
            "camera_use": "horizontal barrier between characters",
            "directionality_class": "directional_3d",
            "element": "detective’s desk",
            "orientation": "the cluttered front edge runs laterally across the frame between 혜수 and 김형사",
            "state": "crowded with papers and office objects"
          },
          {
            "camera_use": "oppressive office depth behind 김형사",
            "directionality_class": "directional_3d",
            "element": "filing cabinets",
            "orientation": "their flat fronts face camera in uneven rows behind the desk",
            "state": "closed, dented, dim"
          }
        ],
        "lighting_mood": "The phone’s cold screen flare cuts through the amber desk-lamp grime, sharpening the tension while the office corners remain blue-gray and airless.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Low at the 검은 고양이’s shoulder height, roughly one meter away, the camera tracks parallel along the rooftop wall and then holds a brief side profile as the cat turns its head toward the lit rooftop-room window. The cat occupies the lower left-to-center band of the frame, while the faint yellow window hangs in the misty background line of sight above the wall.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "mid-stride head turn",
            "character": "검은 고양이",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "lit rooftop window",
              "label": "black cat",
              "screen_zone": "lower_left",
              "target_id": "C11",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "lit rooftop window",
              "screen_zone": "upper_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "distant visual lure for the cat’s head turn",
            "directionality_class": "transparent_surface",
            "element": "rooftop-room window",
            "orientation": "fogged glass shows a weak yellow interior glow beyond it",
            "state": "closed, lit from inside"
          },
          {
            "camera_use": "tracking guide and jump setup",
            "directionality_class": "directional_3d",
            "element": "low concrete rooftop wall",
            "orientation": "the long side face runs parallel to the camera movement, with its top edge rising toward the next action",
            "state": "damp, stained"
          },
          {
            "camera_use": "atmospheric veil separating cat and room",
            "directionality_class": "non_directional",
            "element": "blue dawn fog",
            "orientation": "",
            "state": "thick, cold, slowly moving"
          }
        ],
        "lighting_mood": "Blue dawn fog desaturates the rooftop while the sickly yellow window glow draws a small occult point of warmth behind the cat.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 17,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Just outside 수리영’s room, the camera stays eye-level and static about five feet from the threshold, looking straight through the opened door into a room that appears too clean. The doorway forms a dark rectangular frame around the orderly bed, smooth floor, and untouched curtains, with no body, no stain, and no trace where memory said there should be horror.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "primary frame-within-frame revealing the room",
            "directionality_class": "directional_3d",
            "element": "opened bedroom door",
            "orientation": "the door slab is swung aside so the camera sees through the threshold into the room",
            "state": "open, still"
          },
          {
            "camera_use": "visual proof of unnatural order",
            "directionality_class": "directional_3d",
            "element": "neatly arranged bed",
            "orientation": "the bed’s side and top plane face camera beyond the doorway",
            "state": "made, undisturbed"
          },
          {
            "camera_use": "absence marker where the earlier horror is expected",
            "directionality_class": "transparent_surface",
            "element": "bedroom window with curtains",
            "orientation": "the window is partly obscured by clean curtains, with pale daylight diffused beyond",
            "state": "closed, curtains hanging evenly"
          },
          {
            "camera_use": "negative evidence emphasized by stillness",
            "directionality_class": "non_directional",
            "element": "spotless bedroom floor",
            "orientation": "",
            "state": "clean, dry, no blood visible"
          }
        ],
        "lighting_mood": "Thin daylight is cooled into blue-gray shadow, with no warm relief except a faint domestic amber trace that makes the room’s cleanliness feel staged and wrong.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the bathroom, the camera is fixed at eye level about three feet from the mirror, tightened so the mirror reflection becomes the frame and the reflected rear wall sits centered. The red circular mark is isolated near the middle of the reflected wall, with only a sliver of mirror edge and damp tile context allowed to remain, making the apparition feel graphic and unavoidable.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "red circular mark in mirror reflection",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "the shot’s perceptual surface and compositional border",
            "directionality_class": "reflective_surface",
            "element": "bathroom mirror",
            "orientation": "the mirror reflects the rear bathroom wall and the impossible red circular mark; a narrow mirror edge confirms this is a reflected view",
            "state": "slightly misted, cold"
          },
          {
            "camera_use": "surface on which the occult symbol appears within reflection",
            "directionality_class": "content_surface",
            "element": "reflected bathroom wall",
            "orientation": "the wall face visible in the mirror carries a sharp crimson circular mark at its center",
            "state": "pale tile surface, otherwise clean"
          },
          {
            "camera_use": "claustrophobic bathroom texture",
            "directionality_class": "non_directional",
            "element": "damp tile grout",
            "orientation": "",
            "state": "wet-looking, gray, stained"
          }
        ],
        "lighting_mood": "Washed blue bathroom light is poisoned by the crimson ring, which seems brighter and flatter than the room’s natural illumination.",
        "perception_mode": "mirror",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 15,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At tabletop height beside the dining table, the push-in finishes at an extreme close angle on the framed photograph, stripping away nearly all surrounding table context. The mother’s photographed face, now perceived as 민숙 (변형된), occupies the central close field in a grotesque melted distortion, while the photo frame edge remains barely visible to prove this horror is trapped inside the image surface.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "frozen photo smile",
            "character": "민숙 (변형된)",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "distorted mother’s face inside framed photograph",
              "screen_zone": "middle_center",
              "target_id": "C12",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "primary hallucinated image surface",
            "directionality_class": "content_surface",
            "element": "framed family photograph",
            "orientation": "the front image face is angled slightly upward to camera, showing the mother’s face grotesquely distorted within the printed photo",
            "state": "upright on table, visually corrupted by hallucination"
          },
          {
            "camera_use": "thin physical proof that this is still a household object",
            "directionality_class": "reflective_surface",
            "element": "photo frame glass",
            "orientation": "the glass reflects a dim streak of room light across the distorted face without hiding it",
            "state": "clean but unnervingly glossy"
          },
          {
            "camera_use": "minimal scale reference around the frame",
            "directionality_class": "directional_3d",
            "element": "dining table edge",
            "orientation": "only a narrow tabletop plane and edge remain at the lower frame margin",
            "state": "still, ordinary, dim"
          }
        ],
        "lighting_mood": "A cold daylight wash turns jaundiced over the photo glass, with restrained crimson-brown distortion tones pulsing against the muted domestic background.",
        "perception_mode": "hallucination",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 20,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Outside the mart, the camera holds shoulder-high behind 수리영 and 남자 직원 about three meters from the exterior wall, tilted slightly upward with extra headroom to include the CCTV camera above them. Their backs occupy the lower frame while the high wall and small surveillance unit sit in the upper center, making their shared upward look the only clear line of investigation.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "neck craned upward",
            "character": "수리영",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "hands on hips",
            "character": "남자 직원",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "CCTV camera high on exterior wall",
              "label": "수리영",
              "screen_zone": "lower_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "CCTV camera high on exterior wall",
              "label": "남자 직원",
              "screen_zone": "lower_right",
              "target_id": "C08",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "CCTV camera high on exterior wall",
              "screen_zone": "upper_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "investigation target above the characters’ gaze",
            "directionality_class": "directional_3d",
            "element": "CCTV camera",
            "orientation": "its lens housing points downward from the upper exterior wall toward the parking area",
            "state": "mounted, still"
          },
          {
            "camera_use": "large vertical plane that creates the upward composition",
            "directionality_class": "directional_3d",
            "element": "mart exterior wall",
            "orientation": "the wall face rises flat in front of the camera, forcing the tilt toward the camera mount",
            "state": "weathered, pale, morning-damp"
          },
          {
            "camera_use": "location marker without distracting from CCTV",
            "directionality_class": "content_surface",
            "element": "mart exterior signage edge",
            "orientation": "only part of the sign face is visible along the wall, its letters cropped and secondary",
            "state": "on wall, slightly faded"
          }
        ],
        "lighting_mood": "Early morning light stays cool and flat, with faint amber spill from the mart entrance and damp blue-gray shadows under the CCTV housing.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Outside the mart at chest height, the camera dollies into a close side-front upper-body frame of 수리영, isolating her from the wall and parking area behind her. The phone is pressed tight to her ear near the right side of the frame, her shoulders drawn in and her face turned three-quarters away from the background as she reports the CCTV lead.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "phone clutched tight",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영 isolated on phone",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "soft graphic backdrop that keeps the location present",
            "directionality_class": "directional_3d",
            "element": "mart exterior wall",
            "orientation": "a blurred side section of the wall runs behind 수리영 at a shallow angle",
            "state": "pale, damp, out of focus"
          },
          {
            "camera_use": "subtle reminder of the public exterior setting",
            "directionality_class": "non_directional",
            "element": "parking area background",
            "orientation": "",
            "state": "quiet, sparsely occupied, defocused"
          },
          {
            "camera_use": "investigative prop held close to the face",
            "directionality_class": "content_surface",
            "element": "mobile phone",
            "orientation": "the dark back and edge of the phone face camera while the screen side is hidden against her ear",
            "state": "in use, pressed close"
          }
        ],
        "lighting_mood": "Cool morning overcast light flattens the exterior, while a faint sickly amber reflection from the mart window catches the phone edge and her tense cheek.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the back corner of the dark security office, the camera holds eye-level in a wide static frame about ten feet from the desk, facing the glowing monitor with 혜수, 수리영, and 30대 한국인 남성 보안 직원 grouped around it. The monitor sits as the central anchor on the desk, throwing blue-white light onto their bodies while their faces remain partially swallowed by the room’s damp, cluttered darkness.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning over desk edge",
            "character": "혜수",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "hovering behind Hyesu",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "hand on mouse",
            "character": "30대 한국인 남성 보안 직원",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "central light source and story anchor",
            "directionality_class": "content_surface",
            "element": "CCTV monitor",
            "orientation": "the screen face points toward camera and the group, glowing with indistinct surveillance footage",
            "state": "on, bright, hard to read"
          },
          {
            "camera_use": "line that guides the later forward camera move",
            "directionality_class": "directional_3d",
            "element": "security office desk",
            "orientation": "the long desk edge leads from the camera side toward the monitor",
            "state": "cluttered with cables and office equipment"
          },
          {
            "camera_use": "dark enclosure around the figures",
            "directionality_class": "directional_3d",
            "element": "back office shelving",
            "orientation": "shelf fronts and stacked boxes face partly toward camera from the rear wall",
            "state": "crowded, dusty, underlit"
          },
          {
            "camera_use": "small practical glow competing with the monitor",
            "directionality_class": "content_surface",
            "element": "equipment indicator panels",
            "orientation": "tiny front-facing LEDs and labels face the room in scattered points",
            "state": "on, dim"
          }
        ],
        "lighting_mood": "The CCTV monitor casts cold blue-white light on the three figures, opposed by weak amber practicals and heavy blue-gray shadows that make the room feel sealed and airless.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At desk height within inches of the monitor, the camera holds slightly off-axis in a near-macro insert: 혜수's fingertip enters from the right edge and stops over the lower-center dark patch of the CCTV image, while the pixel grid and oily screen texture remain visible. Faces are fully cropped out; the fingertip and the unreadable black area occupy the central third, with the rest of the CCTV frame falling softly out of focus.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "finger indicating screen",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "primary focal plane and source of mediated image information",
            "directionality_class": "content_surface",
            "element": "CCTV monitor screen",
            "orientation": "the camera sees the front display face, showing a replayed CCTV image with one unnaturally dark unreadable patch",
            "state": "on, dim, slightly smeared"
          },
          {
            "camera_use": "visual target under the fingertip",
            "directionality_class": "content_surface",
            "element": "dark CCTV image patch",
            "orientation": "the visible screen face contains a nearly black portion where detail should be readable but is swallowed by shadow",
            "state": "active image, illegible"
          },
          {
            "camera_use": "thin foreground base line grounding the monitor at desk height",
            "directionality_class": "directional_3d",
            "element": "office desk edge",
            "orientation": "the narrow front edge runs diagonally along the lower frame toward the monitor",
            "state": "cluttered and dull"
          }
        ],
        "lighting_mood": "Cold monitor blue is the main light, with sickly amber office spill barely catching 혜수's fingertip and leaving the surrounding desk in damp gray shadow.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 4,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only 혜수's hand and fingertip are visible in an extreme insert, so an outlook-based facial reference would not be useful or alignable.",
            "subject_id": "C02"
          }
        ]
      },
      {
        "camera_direction": "From just above the desk line across scattered case photographs, the dolly-in finishes at 수리영's eye level within two feet, locking into a tight close-up as her pale face freezes in the right half of frame. The blurred, grisly photo edges remain low in the foreground as a jagged barrier between camera and face, while her widened eyes stare downward past the lens rather than into it.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "frozen 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": "blurred foreground obstruction and emotional trigger",
            "directionality_class": "content_surface",
            "element": "scattered case photographs",
            "orientation": "their printed image faces are turned upward toward camera, showing indistinct violent shapes and pale torn flesh tones without becoming fully readable",
            "state": "spread messily across the desk"
          },
          {
            "camera_use": "horizontal plane compressing her against the evidence",
            "directionality_class": "directional_3d",
            "element": "detective desk surface",
            "orientation": "the front tabletop edge angles across the lower frame toward 수리영",
            "state": "crowded with papers and folders"
          },
          {
            "camera_use": "soft institutional background texture",
            "directionality_class": "directional_3d",
            "element": "police office partitions",
            "orientation": "partition sides recede behind her at shallow depth",
            "state": "muted, busy, out of focus"
          }
        ],
        "lighting_mood": "Flat police-office daylight is drained into blue-gray shadows, with a weak amber desk lamp tint making 수리영's shocked skin look bloodless.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera sits less than a foot from the tabletop, static and tight on 수리영's hand as the pen tip bites into the memo paper in the lower-center of frame. The coordinate marks and paper fibers dominate the image, while the police office and monitor glow dissolve into a soft blue-gray smear behind the hand.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "pressing pen hard",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "primary writing surface and focal texture",
            "directionality_class": "content_surface",
            "element": "memo paper",
            "orientation": "the top writing face is visible to camera, carrying freshly written coordinate numbers pressed dark into the paper",
            "state": "creased, slightly dirty, being written on"
          },
          {
            "camera_use": "sharp action detail at the center of pressure",
            "directionality_class": "directional_3d",
            "element": "ballpoint pen tip",
            "orientation": "the angled metal tip points down-left into the paper from 수리영's hand",
            "state": "pressed hard, ink flowing"
          },
          {
            "camera_use": "soft background source of illicit information",
            "directionality_class": "content_surface",
            "element": "distant workstation monitor",
            "orientation": "its front display face is visible only as an unreadable bluish rectangle in the background",
            "state": "on, out of focus"
          }
        ],
        "lighting_mood": "Cool monitor spill and stale fluorescent light flatten the desk into gray-blue, while a faint amber practical reflection catches the pen barrel like a warning glint.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 8,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The frame isolates 수리영's hand and writing action; face and full-body outlook details are not visible, so base identity is enough without an outlook reference.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "From sidewalk eye height across the police station forecourt, the static wide frame holds 수리영 and the entire bicycle in full view, slightly left of center, with the station entrance and curb line receding behind her. She is caught at the poised instant before departure: seated on the saddle, torso angled forward, one foot planted on a pedal and the other ready to push off.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "one foot on pedal",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "establishing institutional backdrop",
            "directionality_class": "directional_3d",
            "element": "police station exterior",
            "orientation": "the front facade and entrance side face the camera across the forecourt",
            "state": "dull, damp, official-looking"
          },
          {
            "camera_use": "transparent threshold behind her, adding depth",
            "directionality_class": "transparent_surface",
            "element": "station glass entrance doors",
            "orientation": "clouded glass reflects the overcast street while partially revealing a dim lobby beyond",
            "state": "closed, streaked with moisture"
          },
          {
            "camera_use": "primary vehicle shape framing her body",
            "directionality_class": "directional_3d",
            "element": "bicycle",
            "orientation": "its side profile faces the camera, both wheels visible and aligned parallel to the curb",
            "state": "parked but about to move"
          },
          {
            "camera_use": "atmospheric ground plane",
            "directionality_class": "non_directional",
            "element": "wet forecourt pavement",
            "orientation": "",
            "state": "darkened by moisture under an overcast sky"
          }
        ],
        "lighting_mood": "A flat overcast wash cools the scene into muted blue-gray, with only weak amber interior light leaking from the station doors.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 22,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Beside and slightly behind 수리영 at seated shoulder height, the dolly-in tightens on her upper body while the PC monitor sits beyond her eyeline in the upper-right background as a readable blue glow. Her shoulder and cheek form a dark foreground silhouette on the left third, guiding the viewer toward the nautical map without cutting down to her hands yet.",
        "character_angles": [
          {
            "angle": "over_shoulder",
            "body_pose": "hunched toward monitor",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "main informational glow and gaze destination",
            "directionality_class": "content_surface",
            "element": "PC monitor nautical map",
            "orientation": "the front display face is visible past 수리영's shoulder, showing a blue-toned sea map and coordinate-like interface elements",
            "state": "on, bright blue, slightly flickering"
          },
          {
            "camera_use": "repeating dark shapes that isolate her station",
            "directionality_class": "directional_3d",
            "element": "PC café monitor row",
            "orientation": "monitor backs and side edges recede into darkness behind her",
            "state": "on but mostly dim"
          },
          {
            "camera_use": "desk-level context for the later map and backpack work",
            "directionality_class": "directional_3d",
            "element": "computer desk surface",
            "orientation": "the tabletop runs away from camera beneath the monitor, mostly hidden by shadow",
            "state": "cluttered, low-lit"
          }
        ],
        "lighting_mood": "The PC room is soaked in cold monitor blue, with grimy shadows and a faint sickly amber ceiling spill catching only the edges of 수리영's face and hair.",
        "perception_mode": "direct",
        "perspective": "over_shoulder",
        "pov_character": "",
        "scene_index": 23,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Directly in front of the moving bicycle, slightly below 수리영's eye line and about forty centimeters from her face, the camera tracks backward in perfect sync so the rain-streaked close-up stays tense and frontal without becoming a direct address. Her wet face occupies most of the center frame, shoulders compressed at the bottom edge as lightning briefly carves her eyes and clenched jaw out of the storm.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "leaning over handlebars",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "storm road ahead",
              "label": "수리영",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "violent moving texture across the lens and face",
            "directionality_class": "non_directional",
            "element": "storm rain",
            "orientation": "",
            "state": "heavy, wind-driven, splashing"
          },
          {
            "camera_use": "instant high-contrast illumination",
            "directionality_class": "non_directional",
            "element": "lightning flash",
            "orientation": "",
            "state": "sudden, white-blue, momentary"
          },
          {
            "camera_use": "blurred directional movement cues behind her",
            "directionality_class": "directional_3d",
            "element": "coastal road",
            "orientation": "the road plane streaks backward behind 수리영, aligned with her forward riding direction",
            "state": "wet, dark, nearly empty"
          }
        ],
        "lighting_mood": "A cold storm-blue palette is split by a harsh lightning burst, with rain turning every skin highlight metallic and the shadows sinking toward black.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 24,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the bedroom at eye level, the dolly-in ends locked nearly perpendicular to the torn wall, holding a close composition where the blood-stained black-and-white photograph sits pinned at the exact center of a crimson circle. The photo and red mark take up the central mass of the frame, while the rough wall texture remains visible around them like scraped skin.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "central occult symbol and compositional target",
            "directionality_class": "content_surface",
            "element": "red circular wall mark",
            "orientation": "the painted wall face is directly visible to camera, showing a rough crimson circle surrounding the pinned photograph",
            "state": "fresh-looking, uneven, ominous"
          },
          {
            "camera_use": "primary revealed clue",
            "directionality_class": "content_surface",
            "element": "old black-and-white photograph",
            "orientation": "the front image face is visible, showing an aged rural restaurant scene partially obscured by blood stains",
            "state": "pinned to wall, creased, blood-stained"
          },
          {
            "camera_use": "macabre texture around the clue",
            "directionality_class": "non_directional",
            "element": "torn bedroom wall texture",
            "orientation": "",
            "state": "scraped, dirty, disturbed"
          }
        ],
        "lighting_mood": "Dying amber dusk from the wrecked room skims the wall while blue-gray shadows pool around the crimson circle and old blood, giving the clue a ritual weight.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From inside the rooftop room behind 수리영, slightly below eye level and several feet back, the tracking shot widens just enough to include the open front-door threshold as she steps out. Her back and backpack sit in the middle of frame, one foot crossing into the exterior light, while the crumpled photograph remains readable as a tight fist-level detail near her right side.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "stepping across threshold",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "open front door",
              "label": "수리영",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "open front door threshold",
              "screen_zone": "upper_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "destination frame and exit boundary",
            "directionality_class": "directional_3d",
            "element": "open front door",
            "orientation": "the inside face of the open door and its threshold angle toward the camera as 수리영 exits",
            "state": "open, letting in dim exterior dusk"
          },
          {
            "camera_use": "evidence of intrusion in the room she leaves behind",
            "directionality_class": "non_directional",
            "element": "scattered household debris",
            "orientation": "",
            "state": "ransacked, strewn across the floor"
          },
          {
            "camera_use": "broken domestic geometry in the side background",
            "directionality_class": "directional_3d",
            "element": "overturned dining chairs",
            "orientation": "chair legs jut sideways at uneven angles across the room",
            "state": "knocked over"
          },
          {
            "camera_use": "damp air source and unsettling escape route implication",
            "directionality_class": "transparent_surface",
            "element": "open living-room window",
            "orientation": "the camera sees the dark opening and wet exterior air beyond the window frame",
            "state": "open, dirty, cold"
          }
        ],
        "lighting_mood": "Sickly amber sunset leaks from the doorway against damp blue-gray interior shadows, leaving the ransacked room textured and bruised behind her.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the far end of the empty harbor, low chest height and roughly twenty-five meters from the shoreline rocks, the static wide frame lets the fog and wet quay dwarf 수리영. She appears as a small full-body figure crouched on the rocks near the lower-right third, facing the blue-gray sea while the vacant harbor stretches around her.",
        "character_angles": [
          {
            "angle": "profile_right",
            "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": "dominant atmosphere swallowing distance",
            "directionality_class": "non_directional",
            "element": "dense harbor fog",
            "orientation": "",
            "state": "thick, wet, blue-gray"
          },
          {
            "camera_use": "broad empty ground plane emphasizing isolation",
            "directionality_class": "directional_3d",
            "element": "wet quay",
            "orientation": "the quay surface stretches from the camera toward 수리영 and the shoreline rocks",
            "state": "empty, slick after rain"
          },
          {
            "camera_use": "seat and edge between land and sea",
            "directionality_class": "non_directional",
            "element": "shoreline rocks",
            "orientation": "",
            "state": "dark, wet, uneven"
          },
          {
            "camera_use": "reflective void in her gaze direction",
            "directionality_class": "reflective_surface",
            "element": "fog-covered sea",
            "orientation": "the water surface reflects the blue-gray fog and faint broken harbor light rather than clear scenery",
            "state": "calm, obscured"
          }
        ],
        "lighting_mood": "The harbor is drenched in muted blue-gray dusk, with moisture-softened shadows and only the faintest dirty amber glints lost inside the fog.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 1,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "수리영 is a distant full-body figure partly obscured by fog, so facial outlook details are unlikely to be visible; base identity is sufficient.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "From the dock edge near the waterline, slightly low and about eight meters from the old fishing boat, the pan settles into a wide full-body reveal of 인우 on deck as the fog parts around him. He is framed slightly above center with the thick mooring rope cutting diagonally through the foreground, the boat deck visible beneath his boots and the hull forming a dark horizontal mass below.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "bracing with mooring rope",
            "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": "platform and silhouette base for 인우",
            "directionality_class": "directional_3d",
            "element": "old fishing boat deck",
            "orientation": "the side deck and rail angle toward the dockside camera, revealing 인우's full stance above the hull",
            "state": "weathered, wet, slowly settling"
          },
          {
            "camera_use": "strong diagonal foreground line connecting man and dock",
            "directionality_class": "directional_3d",
            "element": "thick mooring rope",
            "orientation": "the rope runs diagonally from 인우's hands down toward the lower-left dock edge",
            "state": "taut, damp, heavy"
          },
          {
            "camera_use": "dark mass separating deck from water",
            "directionality_class": "directional_3d",
            "element": "boat hull",
            "orientation": "the side of the hull faces camera as a long dark plane beneath 인우",
            "state": "old, scuffed, wet"
          },
          {
            "camera_use": "atmospheric reveal curtain",
            "directionality_class": "non_directional",
            "element": "parting sea fog",
            "orientation": "",
            "state": "dense but thinning around the boat"
          },
          {
            "camera_use": "low reflective base under the hull",
            "directionality_class": "reflective_surface",
            "element": "harbor water",
            "orientation": "the water reflects the boat's dark underside and smeared fog light in broken ripples",
            "state": "dark, rippling softly"
          }
        ],
        "lighting_mood": "Cold blue fog wraps the boat, while faint amber harbor practicals graze the rope and hull just enough to make 인우's reveal feel wary and folkloric.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the pier beside the wet boat hull, just below deck height, the camera holds a tight side facial view of 인우 about two meters away, slightly low and angled along the deck edge as the dolly-in compresses into his cheekbone, eye, and downward stare. 수리영 is only a blurred lower-edge presence near the pier line, making the image feel like an impersonal observer catching his cold look from beneath him.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "chin lowered over rail",
            "character": "인우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "bracing near gunwale",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "large dark vertical plane along the left foreground, giving scale and trapping the view beneath 인우",
            "directionality_class": "directional_3d",
            "element": "wet boat hull",
            "orientation": "the slick side of the hull faces camera in strict profile, its upper edge cutting toward the deck",
            "state": "rain-wet, dark, moored"
          },
          {
            "camera_use": "narrow lower strip grounding 수리영 below the deck line",
            "directionality_class": "non_directional",
            "element": "pier planks",
            "orientation": "",
            "state": "soaked, rough, mist-dulled"
          },
          {
            "camera_use": "soft veil behind the boat and faces, isolating the encounter from the empty port",
            "directionality_class": "transparent_surface",
            "element": "harbor fog",
            "orientation": "a semi-opaque layer behind the figures, reducing the visible port to blue-gray silhouettes",
            "state": "dense and damp"
          }
        ],
        "lighting_mood": "Muted blue-gray dusk wraps the harbor while a faint sickly amber spill from the boat skims 인우’s face, leaving his eyes hard and underlit.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the rooftop living room at chest height, the camera continues the flow’s slow dolly-in from about 2.5 meters, tightening to a medium upper-body frame of 혜수 with the phone pressed to her ear. She sits slightly right of center amid overturned, damp-looking clutter, angled three-quarters as if her attention has just pulled toward 김형사 off-frame rather than toward us.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "phone pressed to ear",
            "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": "visible disorder around 혜수, keeping the room’s violated condition readable behind her",
            "directionality_class": "non_directional",
            "element": "scattered rooftop-room clutter",
            "orientation": "",
            "state": "messy, overturned, neglected"
          },
          {
            "camera_use": "background source of cold draft and later sound, held out of focus behind the anxiety",
            "directionality_class": "directional_3d",
            "element": "entrance door",
            "orientation": "its inner face angles slightly away from camera, showing the rattling edge and frame gap",
            "state": "not fully secure, wind-shaken"
          },
          {
            "camera_use": "thin translucent layer over the small room window, adding a damp dusk haze",
            "directionality_class": "transparent_surface",
            "element": "grimy window glass",
            "orientation": "dirty glass catches the gray exterior light while showing only a blurred rooftop beyond",
            "state": "streaked, dim"
          }
        ],
        "lighting_mood": "Cold blue dusk leaks through dirty glass while weak amber practical light stains the room’s mess, making 혜수’s frozen concern feel sickly and trapped.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 27,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "On the deck at eye level directly in front of 인우, the dolly-in reaches its endpoint as an extreme facial close-up isolates his widened eyes and tightened brow at the instant he recognizes the photograph. The frame crops away the deck and 수리영, leaving only a shallow strip of rain-dark skin texture, trembling pupils, and blue-gray sea blur behind him.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "head recoiling slightly",
            "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": "인우 panic close-up",
              "screen_zone": "middle_center",
              "target_id": "C03",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "thin out-of-focus band behind the face, keeping the deck location present without distracting from the eyes",
            "directionality_class": "non_directional",
            "element": "wet deck background",
            "orientation": "",
            "state": "blurred, rain-dark"
          },
          {
            "camera_use": "cold moving texture behind 인우’s head, suggesting the boat’s isolation at sea",
            "directionality_class": "non_directional",
            "element": "gray sea haze",
            "orientation": "",
            "state": "soft, distant, fogged"
          }
        ],
        "lighting_mood": "A hard, cold blue-gray dusk wash flattens his face while a faint amber deck reflection catches the moisture in his eyes, turning panic into something feverish.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From just inside the cramped wheelhouse entrance at chest height, the camera becomes 인우’s subjective view looking outward as 수리영 blocks the doorway frontally. The composition is deliberately symmetrical: her torso is centered, both arms stretched to the doorframe edges, with the narrow frame and wet deck visible around her as a rigid barrier.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "arms braced across doorway",
            "character": "수리영",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영 blocking entrance",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "narrow wheelhouse doorway",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "hard rectangular frame around 수리영’s outstretched arms, emphasizing that she physically blocks passage",
            "directionality_class": "directional_3d",
            "element": "wheelhouse doorway",
            "orientation": "the interior side of the narrow doorframe faces camera, both vertical jambs visible around her arms",
            "state": "open, cramped, wet-edged"
          },
          {
            "camera_use": "background seen beyond her shoulders, confirming the camera is inside and she is guarding the threshold",
            "directionality_class": "non_directional",
            "element": "exposed deck outside",
            "orientation": "",
            "state": "slick with sea spray"
          },
          {
            "camera_use": "small practical glow inside the wheelhouse, rim-lighting the doorway edges",
            "directionality_class": "directional_3d",
            "element": "amber cabin lamp",
            "orientation": "its metal shade faces downward and slightly away from camera, spilling light onto the frame",
            "state": "on, dim"
          }
        ],
        "lighting_mood": "Sickly amber wheelhouse light edges 수리영’s arms while the deck behind her stays cold blue-gray and fog-soft, making the doorway feel like a ritual threshold.",
        "perception_mode": "direct",
        "perspective": "subjective_pov",
        "pov_character": "인우",
        "scene_index": 28,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera holds almost motionless just over 수리영’s right side, only inches from the old photograph at chest height, turning her fingertip and the child’s face into an insert-like anchor. The paper sits slightly diagonal across the frame, her finger entering from lower right and stopping on the girl’s cheek, while the rest of the wheelhouse falls into dark amber blur.",
        "character_angles": [
          {
            "angle": "over_shoulder",
            "body_pose": "finger pinning photograph",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "points_to",
              "gesture_target_label": "young girl's face in the photograph",
              "label": "수리영's pointing hand",
              "screen_zone": "lower_right",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "young girl's face in the photograph",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "points_to_anchor"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "primary visual evidence, held close enough for the finger and child’s face to become the clue",
            "directionality_class": "content_surface",
            "element": "old black-and-white photograph",
            "orientation": "the printed front face is visible to camera, showing the faded group image and the young girl’s face under 수리영’s fingertip",
            "state": "worn, slightly bent, handled"
          },
          {
            "camera_use": "soft amber blur behind the paper, keeping the shot physically inside the wheelhouse",
            "directionality_class": "directional_3d",
            "element": "wheelhouse console edge",
            "orientation": "only the upper edge and side plane angle through the background blur",
            "state": "old, scratched, dim"
          },
          {
            "camera_use": "background occult color accent foreshadowing the later wall reveal",
            "directionality_class": "non_directional",
            "element": "amber cabin haze",
            "orientation": "",
            "state": "dim, smoky-looking"
          }
        ],
        "lighting_mood": "A weak amber practical grazes the cracked photo paper while blue-gray dusk dies off around the edges, making the finger’s stillness feel accusatory.",
        "perception_mode": "direct",
        "perspective": "over_shoulder",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 5,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only 수리영’s hand and shoulder edge are visible in an insert; a full outlook reference would not be visually supported.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "At the end of the pan from beside 인우’s shoulder, the camera settles dead-still at eye level on the wheelhouse wall, excluding all characters. The wall plane is framed square and severe, with dense crimson circular marks spread across the amber-lit surface while damp corners, peeling paint, and rusted seams keep the occult symbol grounded in a real, decaying boat interior.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "primary revealed surface, held flat to camera so the repeated red circles become an oppressive pattern",
            "directionality_class": "content_surface",
            "element": "wheelhouse wall covered in red circular marks",
            "orientation": "the interior wall face is fully presented to camera, carrying vivid crimson circle symbols across peeling paint",
            "state": "old, damp, densely marked"
          },
          {
            "camera_use": "source of the sick amber wash that makes the red pigment look ritualistic rather than decorative",
            "directionality_class": "directional_3d",
            "element": "amber wheelhouse practical light",
            "orientation": "the lamp shade points downward from the upper side of the cabin, casting uneven light across the wall face",
            "state": "on, weak, dirty"
          },
          {
            "camera_use": "adds gritty realism along the wall’s edge and breaks the flatness of the occult pattern",
            "directionality_class": "directional_3d",
            "element": "rusted cabin seams",
            "orientation": "thin raised seams run vertically and horizontally along the wall plane facing camera",
            "state": "corroded, wet-stained"
          }
        ],
        "lighting_mood": "Sick amber light pools unevenly over muted blue-gray shadows, making the restrained crimson circles appear freshly ominous against the rough, damp wall.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Tight beside 인우’s shoulder at face height, the camera pushes closer from 수리영’s collapsed side, angling slightly downward toward his face so his eyes occupy the emotional center of the close frame. 수리영 remains only as a slack, blurred weight at the lower left against his shoulder, making his cold downward stare feel predatory rather than startled.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "shoulder locked under weight",
            "character": "인우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "collapsed on his shoulder",
            "character": "수리영",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "unconscious"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "인우 cold face",
              "screen_zone": "middle_center",
              "target_id": "C03",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영 collapsed against shoulder",
              "screen_zone": "lower_left",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "soft occult background color behind 인우’s head, linking his reaction to the revealed symbols without stealing focus",
            "directionality_class": "content_surface",
            "element": "red-marked wheelhouse wall",
            "orientation": "only a blurred portion of the marked wall face is visible behind him, with crimson circles smeared by shallow focus",
            "state": "damp, marked, out of focus"
          },
          {
            "camera_use": "narrow dark shape beside the faces, emphasizing the cramped cabin and the trapped body contact",
            "directionality_class": "directional_3d",
            "element": "wheelhouse doorframe edge",
            "orientation": "its inner side cuts vertically along the frame edge near the characters",
            "state": "old, wet, shadowed"
          }
        ],
        "lighting_mood": "A dirty amber cabin glow catches 인우’s eyes from below while blue-gray dusk shadows swallow 수리영’s collapsed form, leaving the crimson wall marks as a muted threat behind them.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 11,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At waterline height about ten meters off the side of the old fishing boat, the camera tracks parallel to the hull in a strict side profile as the bow reaches the fog boundary. The bow is placed exactly at the split between clearer blue-gray sea air on the left and dense white-gray mist on the right, so the vessel appears half in the known world and half swallowed by the occult threshold.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "dense fog boundary",
              "label": "old fishing boat bow",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "dense fog boundary",
              "screen_zone": "middle_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "primary moving form, its side profile dividing the frame at the threshold",
            "directionality_class": "directional_3d",
            "element": "old fishing boat bow",
            "orientation": "the side of the bow faces camera, with its forward point cutting into the fog to the right",
            "state": "weathered, wet, moving slowly"
          },
          {
            "camera_use": "visual barrier that swallows the boat and erases the sea beyond",
            "directionality_class": "transparent_surface",
            "element": "dense fog boundary",
            "orientation": "a thick semi-opaque wall of mist occupies the right side, partially hiding the bow as it passes through",
            "state": "heavy, almost solid-looking"
          },
          {
            "camera_use": "low reflective strip under the hull, grounding the camera at waterline height",
            "directionality_class": "reflective_surface",
            "element": "sea surface",
            "orientation": "the rippled surface reflects dim gold sunset and the dark underside of the hull in broken streaks",
            "state": "dark, gently moving"
          },
          {
            "camera_use": "distant color source behind the haze, giving the crossing a muted gold omen",
            "directionality_class": "non_directional",
            "element": "fading sunset glow",
            "orientation": "",
            "state": "weak, diffused by fog"
          }
        ],
        "lighting_mood": "Muted gold from the dying sun lies thinly on the water while the fog drains the palette back to blue-gray, turning the boat’s entry into a quiet supernatural crossing.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 30,
        "shot_index": 3,
        "subject_reference_policy": []
      }
    ],
    "total": 58,
    "failed_batches": 0
  },
  "step_id": "shot_staging",
  "run_id": "bb3fc444-3941-4e38-88d8-1207ef6b680b",
  "resolved_model": "gpt",
  "updated_at": "2026-07-02T04:02:33.677183+00:00",
  "schema_version": 6,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}