{
  "status": "completed",
  "completed_count": 54,
  "applicable_count": 54,
  "failed_count": 0,
  "data": {
    "shots": [
      {
        "camera_direction": "From the flow’s end position, the camera is chest-height and barely 40 centimeters from the Korean man’s face, slightly below his eyeline, tightened into an extreme facial close-up where his eyes and brow occupy most of the frame. The forest floor and wet leaves smear into soft darkness around the frame edges, while his head recoils slightly backward as if the lens has arrived too close to his panic.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "head recoiling back",
            "character": "한국인 남성",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "terrified man isolated in extreme close-up",
              "screen_zone": "middle_center",
              "target_id": "C05",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft, damp texture around the face edges, keeping the forest present without pulling focus from the eyes.",
            "directionality_class": "non_directional",
            "element": "wet forest floor and leaves",
            "orientation": "",
            "state": "muddy, dark, and blurred"
          },
          {
            "camera_use": "Dark vertical shapes behind the man add pressure and suggest something closing in from the woods.",
            "directionality_class": "directional_3d",
            "element": "tree trunks",
            "orientation": "their narrow sides stack vertically behind his head, receding into fog",
            "state": "wet and nearly black in dusk light"
          }
        ],
        "lighting_mood": "Muted golden dusk backlight leaks through the fog, leaving his face cold and green-gray with tiny red glints in the eyes and wound edges.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Cutting from the face close-up to the flow’s low side position, the camera sits near the forest floor about two meters from impact, angled slightly upward so both bodies collide across the same horizontal plane. The frame opens wide and shakes handheld as the black shape slices in from the upper left and drives the wounded man down into the lower center, dirt and leaves kicking toward the lens without any single prop overwhelming the image.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "crashing onto forest floor",
            "character": "한국인 남성",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          },
          {
            "angle": "profile_left",
            "body_pose": "leaping onto body",
            "character": "검은 형상",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C05",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "fallen man",
              "label": "black shape lunging downward",
              "screen_zone": "upper_left",
              "target_id": "C13",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "wounded man on forest floor",
              "screen_zone": "lower_center",
              "target_id": "C05",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "The low ground texture catches the collision force and gives scale to the bodies.",
            "directionality_class": "non_directional",
            "element": "muddy leaf-covered ground",
            "orientation": "",
            "state": "wet, churned, and smeared with blood"
          },
          {
            "camera_use": "Dark foliage frames the impact from both sides, turning the woods into a cramped trap.",
            "directionality_class": "non_directional",
            "element": "dense underbrush",
            "orientation": "",
            "state": "overgrown, damp, and trembling from the impact"
          },
          {
            "camera_use": "Slanted trunks create diagonal pressure behind the bodies.",
            "directionality_class": "directional_3d",
            "element": "forest trees",
            "orientation": "their side faces angle across the background, leaning visually toward the collision",
            "state": "wet and dusk-dark"
          }
        ],
        "lighting_mood": "The golden dusk is mostly swallowed by green-black forest shadow, with sharp red blood accents and fog-muted highlights on airborne leaves.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Following the flow’s shoulder-height position beside the utility pole, the dolly-in resolves into an almost motionless extreme close-up less than a meter from the pair, angled into the woman’s exposed neck and the man’s lower face. Only the teeth, strained jaw, and compressed skin are sharp; the pole and alley lights dissolve into a sickly blur behind them, emphasizing the fixed, predatory contact.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "jaw clamped forward",
            "character": "한국인 남성",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "profile_left",
            "body_pose": "neck arched back",
            "character": "한국인 여성",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "A blurred vertical anchor beside the faces, confirming they are pinned near the alley pole.",
            "directionality_class": "directional_3d",
            "element": "utility pole",
            "orientation": "its rounded side edge runs vertically just behind the couple, partly hidden by shallow focus",
            "state": "old, stained, and damp"
          },
          {
            "camera_use": "Out-of-focus pools of urban light add cold depth behind the attack.",
            "directionality_class": "non_directional",
            "element": "dim streetlight spill",
            "orientation": "",
            "state": "weak, hazy, and yellow-green through fog"
          },
          {
            "camera_use": "The alley surface is barely visible below, anticipating the collapse in the next movement.",
            "directionality_class": "non_directional",
            "element": "asphalt ground",
            "orientation": "",
            "state": "cold, dark, and wet"
          }
        ],
        "lighting_mood": "Low sodium streetlight and damp blue-black alley shadow make the skin look waxy, with the wound carrying the only hard red accent.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 3,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The shot isolates partial face, teeth, and neck contact rather than full facial identity, so a base character ID is safer than an outlook-specific reference.",
            "subject_id": "C05"
          },
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The woman is shown mainly through her neck and partial profile during the bite, making full outlook alignment unreliable.",
            "subject_id": "C07"
          }
        ]
      },
      {
        "camera_direction": "The camera completes the flow’s downward track and settles at ankle height a few meters away, looking along the alley so the Korean woman’s full body lies diagonally across the lower half of the frame. The distance is wider than the bite close-up, leaving empty wet asphalt around her and making her stillness feel final rather than theatrical.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "sprawled on asphalt",
            "character": "한국인 여성",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "The broad empty surface isolates the body and reflects faint alley light in broken patches.",
            "directionality_class": "non_directional",
            "element": "wet asphalt",
            "orientation": "",
            "state": "cold, dark, and slick"
          },
          {
            "camera_use": "A background vertical marker recedes into fog, showing where the attack began.",
            "directionality_class": "directional_3d",
            "element": "utility pole",
            "orientation": "its front-left side faces the camera from the alley background",
            "state": "stained, damp, and half-obscured"
          },
          {
            "camera_use": "Fog compresses the alley depth and hides any witnesses.",
            "directionality_class": "non_directional",
            "element": "night alley fog",
            "orientation": "",
            "state": "thick, low, and unmoving"
          }
        ],
        "lighting_mood": "A thin wash of greenish streetlight skims the asphalt while the surrounding alley falls into blue-black fog and muted red traces near the body.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Within the news-report visual logic, the camera holds an eye-level frontal medium-close on 혜수 from just inside the detective cluster, tighter than the flow default so her face dominates while shoulders and coat edges of detectives cut the foreground. She is centered with rigid control, but her eyes look just past the lens toward the forensic work beyond the camera, making the broadcast image feel observational rather than confessional.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "shoulders locked forward",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "leaning into evidence",
            "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": "Hyesu framed between detectives",
              "screen_zone": "middle_center",
              "target_id": "C02",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Partial bodies at the frame edges create a pressurized tunnel around Hyesu’s face.",
            "directionality_class": "directional_3d",
            "element": "detectives' coats and shoulders",
            "orientation": "their side and back planes face the lens as cropped foreground barriers",
            "state": "dark, crowded, and slightly out of focus"
          },
          {
            "camera_use": "Blurred procedural activity behind her keeps the crime scene present without stealing focus.",
            "directionality_class": "non_directional",
            "element": "forensic scene background",
            "orientation": "",
            "state": "busy, taped off, and defocused"
          },
          {
            "camera_use": "A faint broadcast texture marks the image as viewed through local news coverage.",
            "directionality_class": "content_surface",
            "element": "news broadcast image plane",
            "orientation": "the camera-facing image surface carries the live crime-scene footage with slight compression and broadcast softness",
            "state": "active, slightly degraded, and cool-toned"
          }
        ],
        "lighting_mood": "Daylight is flattened by broadcast compression and coastal haze, with muted grays and police-line yellow reduced to hard, anxious accents.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 3,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow’s medium-long exterior vantage, the camera holds slightly above and across from the worn villa roofline, keeping the rooftop room in the upper-middle of the frame against the sunset sky. No people are present; the building mass occupies the lower half while the lonely rooftop structure sits exposed, small but unmistakable, as fog and dusk flatten the surrounding outskirts.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary architectural subject, held long enough to register isolation.",
            "directionality_class": "directional_3d",
            "element": "rooftop room",
            "orientation": "its front and left exterior walls face the camera, with the roofline cutting into the sunset sky",
            "state": "old, weather-stained, and quiet"
          },
          {
            "camera_use": "The worn building beneath grounds the rooftop room in a gritty residential outskirts environment.",
            "directionality_class": "directional_3d",
            "element": "old multi-family villa",
            "orientation": "its upper facade faces the camera at a slight angle, showing aged windows and stained exterior walls",
            "state": "aged, damp, and faded"
          },
          {
            "camera_use": "The sky provides the golden backlight and lonely negative space.",
            "directionality_class": "non_directional",
            "element": "golden sunset sky",
            "orientation": "",
            "state": "heavy, hazy, and dimming"
          },
          {
            "camera_use": "Distant buildings and haze keep the outskirts muted and compressed.",
            "directionality_class": "non_directional",
            "element": "Incheon outskirts skyline",
            "orientation": "",
            "state": "soft, fogged, and desaturated"
          }
        ],
        "lighting_mood": "A dense golden dusk backlight silhouettes the rooftop edges while damp concrete falls into muted coastal gray and brown.",
        "perception_mode": "direct",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 4,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Maintaining the flow’s seated-height table position, the camera sits just across from 수리영 about three feet away and slightly below her eyeline, angled up from the tabletop so the cup at her lips and her pinched expression share the frame. The shot is tighter than the stage default: her face occupies the center-right, the cup sits in the lower center, and the kitchen background compresses into warm domestic blur.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "cup pressed to lips",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Foreground plane that anchors the intimate domestic distance between camera and subject.",
            "directionality_class": "directional_3d",
            "element": "dining table edge",
            "orientation": "the near tabletop edge runs horizontally across the bottom of the frame",
            "state": "used, modest, and softly lit"
          },
          {
            "camera_use": "Soft background texture connects the bitter drink to the herbal preparation.",
            "directionality_class": "directional_3d",
            "element": "small kitchen area",
            "orientation": "cabinet fronts and counter faces angle away behind her in shallow focus",
            "state": "lived-in, damp from steam, and cluttered"
          },
          {
            "camera_use": "The window supplies thin daylight and a faint coastal dampness.",
            "directionality_class": "transparent_surface",
            "element": "small living-room window",
            "orientation": "slightly hazy glass lets narrow sunlight through while obscuring the exterior",
            "state": "closed, dusty, and glowing"
          }
        ],
        "lighting_mood": "Thin daylight from the small window mixes with warm kitchen steam, muting the palette into beige-gray domestic calm with a faint herbal green cast.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the reveal flow, the camera is within a foot of 민숙’s inner wrist at wrist height, slightly below the forearm so the small red circular mark sits crisp near the middle of the frame. The macro depth of field lets only the inner wrist and mark hold focus, while the entrance behind collapses into creamy shapes of doorway and shoes without turning the shot into an abstract insert.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "wrist angled inward",
            "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's marked inner wrist",
              "screen_zone": "middle_center",
              "target_id": "C04",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft contextual blur behind the wrist keeps the scene located at the farewell point.",
            "directionality_class": "directional_3d",
            "element": "entrance doorway",
            "orientation": "its inner side frame faces the camera obliquely behind the wrist",
            "state": "open to the apartment interior, softly out of focus"
          },
          {
            "camera_use": "Blurred lower background gives everyday scale to the macro wrist shot.",
            "directionality_class": "directional_3d",
            "element": "shoe area near threshold",
            "orientation": "shoe fronts and side profiles are indistinct in the lower background",
            "state": "messy, domestic, and defocused"
          },
          {
            "camera_use": "The mark itself is the symbolic surface detail being revealed.",
            "directionality_class": "content_surface",
            "element": "red circular wrist mark",
            "orientation": "the camera-facing skin surface shows a small, vivid red circle on the inner wrist",
            "state": "unusually clear and sharply colored"
          }
        ],
        "lighting_mood": "Soft entrance daylight is warm and ordinary, but the mark catches a sharper red accent against muted skin tones and shadowed domestic beige.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 11,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only Minsuk's wrist and symbolic mark are visible in macro close-up, so a full outlook-specific identity reference would likely mislead the image generation.",
            "subject_id": "C04"
          }
        ]
      },
      {
        "camera_direction": "Inheriting the side-tracking flow, the camera runs parallel to 수리영 at full-body distance, about 1.2 meters high and four meters off the bicycle, keeping her entire body, handlebar, and downward pedal stroke visible. She travels left to right through the middle of the frame, one foot driving the pedal down as foggy tidal flats and the coastal road slide behind her in a steady lateral blur.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "pressing pedal downward",
            "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": "right side of coastal road",
              "label": "Suriyoung riding bicycle left to right",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Open lateral background that makes her movement feel airy but isolated.",
            "directionality_class": "non_directional",
            "element": "misty tidal flats",
            "orientation": "",
            "state": "fog-covered, pale gray, and damp"
          },
          {
            "camera_use": "The road creates the horizontal tracking line and scale reference.",
            "directionality_class": "directional_3d",
            "element": "coastal road",
            "orientation": "its long side runs left-to-right across the frame, receding slightly behind the bicycle",
            "state": "dry at the center, damp along the edges"
          },
          {
            "camera_use": "Low fog veils the horizon and softens the coastal color palette.",
            "directionality_class": "non_directional",
            "element": "sea fog",
            "orientation": "",
            "state": "thick, low, and slowly drifting"
          }
        ],
        "lighting_mood": "Daylight is diffused through heavy sea fog into muted blue-gray coastal tones, with only soft gold on her hair and bicycle edges.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 6,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "This shot takes the flow’s rigid frontal close-up but treats it as the dog’s direct eyeline: the camera sits about one meter from 수리영 at eye level, centered on her face while the kennel remains just off camera. Her brow is hard in the middle of the frame, shoulders barely visible below, and the background is stripped down to vague cage lines so the stare lands like a silent command.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "chin thrust forward",
            "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": "Suriyoung's confrontational stare",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Barely visible background geometry suggests the kennel without distracting from her eyes.",
            "directionality_class": "directional_3d",
            "element": "kennel bars",
            "orientation": "thin vertical bar edges sit behind her in soft focus, mostly side-on to the camera",
            "state": "metallic, worn, and blurred"
          },
          {
            "camera_use": "Dim shelter depth behind her adds pressure and animal noise without visual clutter.",
            "directionality_class": "non_directional",
            "element": "animal shelter interior",
            "orientation": "",
            "state": "crowded, dim, and out of focus"
          }
        ],
        "lighting_mood": "Cool shelter daylight and dull fluorescent fill flatten the space, while her eyes catch a small hard highlight against the muted gray-green kennel tones.",
        "perception_mode": "direct",
        "perspective": "subjective_pov",
        "pov_character": "개",
        "scene_index": 7,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "A neutral observer remains in the flow’s tight three-quarter close-up, eye level just forward of 수리영’s phone side, dollying the last few centimeters so her smartphone sits along the left edge while her bitten lower lip becomes the emotional anchor near center. The kennel aisle and cage geometry stay soft behind her, with her face occupying most of the frame and only a narrow strip of damp shelter texture visible.",
        "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": "close",
        "key_bg_elements": [
          {
            "camera_use": "Blurred background compression behind her anxious face, reinforcing the shelter pressure without pulling focus.",
            "directionality_class": "directional_3d",
            "element": "dog cage bars",
            "orientation": "The cage fronts sit obliquely behind her, their vertical bars receding down the aisle.",
            "state": "closed, damp, out of focus"
          },
          {
            "camera_use": "Small foreground-adjacent prop that defines the phone-call action without taking over the frame.",
            "directionality_class": "directional_3d",
            "element": "smartphone body",
            "orientation": "Its side edge and dark back are visible pressed tight against her ear, not the screen face.",
            "state": "in use, pressed to ear"
          },
          {
            "camera_use": "Muted gritty texture beneath the kennel atmosphere.",
            "directionality_class": "non_directional",
            "element": "wet concrete shelter floor",
            "orientation": "",
            "state": "damp, stained, softly blurred"
          }
        ],
        "lighting_mood": "Cold kennel daylight is muted by damp gray-green tones, with a faint gold edge on her cheek and a restrained red rawness in her bitten lip.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera inherits the aisle-end dolly-in and lands at eye level between tall shelves, with 수리영’s turned face held tight in the center-right while both shelf walls remain as hard vertical borders on the frame edges. A neutral observer watches her freeze on an unseen point beyond the aisle, using shallow depth of field so the stacked goods become oppressive color blocks rather than readable comfort.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "head turned sharply",
            "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": "Strong edge framing that squeezes her face between vertical planes.",
            "directionality_class": "directional_3d",
            "element": "high grocery shelves",
            "orientation": "The shelf fronts face inward toward the aisle, their long sides forming left and right frame borders.",
            "state": "fully stocked, looming, slightly cluttered"
          },
          {
            "camera_use": "Soft color and texture behind her gaze line, suggesting a search path without giving an answer.",
            "directionality_class": "content_surface",
            "element": "product package faces",
            "orientation": "Rows of package fronts face the aisle and camera in partial blur, with labels unreadable but color blocks visible.",
            "state": "neatly arranged, fluorescent-lit"
          },
          {
            "camera_use": "Overhead practical source that flattens the aisle and heightens her pallor.",
            "directionality_class": "non_directional",
            "element": "market fluorescent light spill",
            "orientation": "",
            "state": "on, cool, slightly harsh"
          }
        ],
        "lighting_mood": "Cool supermarket fluorescence is polluted by the last amber dusk filtering from the aisle end, leaving her face pale against muted coastal blues and sickly greens.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Outside the market, the camera holds static at eye level about one meter from 수리영, slightly tighter than the stage default so her furrowed brow and the phone pressed to her ear read together. She is placed just left of center against dim storefront glass and passing traffic streaks, the lens tipped a touch upward to catch the tension between her eyes and the darkening street behind her.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "phone held to ear",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Dim reflective backdrop that carries street movement behind her stillness.",
            "directionality_class": "reflective_surface",
            "element": "market storefront glass",
            "orientation": "The glass reflects blurred taxi lights and neon signs behind camera while faintly showing the dark shop interior beyond.",
            "state": "closed, slightly smudged, dusk-reflective"
          },
          {
            "camera_use": "Colored accent in the background, adding urban unease without overpowering her face.",
            "directionality_class": "content_surface",
            "element": "neon storefront signs",
            "orientation": "The lit sign faces angle toward the street and camera, their lettering mostly cropped and softened.",
            "state": "on, flickering faintly"
          },
          {
            "camera_use": "Moving background layer that contrasts with her frozen phone call.",
            "directionality_class": "directional_3d",
            "element": "passing street traffic",
            "orientation": "Vehicle sides slide laterally behind her across the street plane.",
            "state": "moving, headlamps on"
          }
        ],
        "lighting_mood": "Blue dusk and damp storefront reflections wrap her in cold shadow, cut by small red and gold neon accents across the background.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera tracks parallel at a low roadside height, freezing the strongest instant as 수리영 passes directly beneath the streetlight: her bicycle and body cut a sharp side silhouette across the middle of the frame, one foot driving the pedal down. The coastal road opens behind her into fog, while her wind-pulled clothing stretches backward toward the left edge, making the acceleration legible in a suspended moment.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "bent over handlebars",
            "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": "darker stretch of coastal road",
              "label": "수리영 riding bicycle",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary backlight creating the frozen silhouette and hard rim around bicycle and body.",
            "directionality_class": "non_directional",
            "element": "streetlight pool",
            "orientation": "",
            "state": "on, bright, isolated in fog"
          },
          {
            "camera_use": "Atmospheric depth that swallows the road ahead and behind.",
            "directionality_class": "non_directional",
            "element": "coastal fog",
            "orientation": "",
            "state": "thick, drifting, low contrast"
          },
          {
            "camera_use": "Horizontal guide line for speed and road direction.",
            "directionality_class": "directional_3d",
            "element": "coastal road lane",
            "orientation": "The road surface runs diagonally through frame, its lane edge receding into darkness ahead of her.",
            "state": "dark, slightly wet"
          },
          {
            "camera_use": "Silhouette structure and motion reference under her body.",
            "directionality_class": "directional_3d",
            "element": "bicycle frame",
            "orientation": "The bicycle is shown in side profile, wheels aligned horizontally across the frame.",
            "state": "in motion, sharply silhouetted"
          }
        ],
        "lighting_mood": "A hard gold-white streetlamp backlight carves her out of deep blue-black fog, with damp asphalt swallowing nearly all color except the rim of light.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 9,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From a very low neutral observer position nearly on the cement, the camera reaches the end of its dolly-in two meters from the iron door and holds wider than expected, letting the lower door slab and the full stretched shadow occupy the floor plane. The man’s face remains completely unseen; only the threshold, shoes near the top edge, and the long black shape crawling toward the camera announce his presence.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "feet halted at threshold",
            "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": "Cold architectural barrier that hides the intruder’s face while framing the threat at floor level.",
            "directionality_class": "directional_3d",
            "element": "iron entrance door base",
            "orientation": "The lower face of the metal door is squared almost frontally to camera, with its bottom seam cutting horizontally across the upper frame.",
            "state": "closed, cold, weathered"
          },
          {
            "camera_use": "Main visual manifestation of the intruder before his body is revealed.",
            "directionality_class": "non_directional",
            "element": "elongated black shadow",
            "orientation": "",
            "state": "stretched across cement, distorted by moonlight"
          },
          {
            "camera_use": "Gritty texture that makes the shadow feel physically grounded.",
            "directionality_class": "non_directional",
            "element": "rooftop cement floor",
            "orientation": "",
            "state": "rough, dusty, moonlit"
          },
          {
            "camera_use": "Small occult-horror texture from the rooftop environment, caught near the edge of the shadow.",
            "directionality_class": "non_directional",
            "element": "windblown dried leaves",
            "orientation": "",
            "state": "scattered, twitching in wind"
          }
        ],
        "lighting_mood": "Hard moonlight turns the rooftop into cold silver-gray cement, with the intruder’s shadow rendered as a dense black slash under the door.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 3,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "Only the man’s shoes and cast shadow are visible; facial or outlook identity details should not be required for this shot.",
            "subject_id": "C10"
          }
        ]
      },
      {
        "camera_direction": "The camera stays locked in a voyeur position directly outside the window, eye level and squared to the curtain so the room is reduced to flat, violent shadow shapes. The huge male silhouette occupies the upper and central area while 민숙’s smaller crouched form is compressed low beneath him, with no interior detail visible beyond the thin fabric and glass.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "pressing over victim",
            "character": "남자",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C04",
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "crouched beneath him",
            "character": "민숙",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "남자 silhouette above",
              "screen_zone": "middle_center",
              "target_id": "C10",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "민숙 crouched silhouette below",
              "screen_zone": "lower_center",
              "target_id": "C04",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Flattening screen that hides identity details and turns the attack into silhouette.",
            "directionality_class": "transparent_surface",
            "element": "window glass",
            "orientation": "The glass is between camera and curtain, slightly dirty, with only the lit curtain and shadow play visible through it.",
            "state": "closed, dark-edged, faintly smudged"
          },
          {
            "camera_use": "Primary surface receiving the silhouettes and compressing the interior space.",
            "directionality_class": "transparent_surface",
            "element": "thin curtain",
            "orientation": "The curtain hangs closed across the window, backlit from inside so the bodies behind it become flattened shadows.",
            "state": "closed, thin, trembling slightly"
          },
          {
            "camera_use": "Dark outer frame that fixes the viewer outside and prevents entry into the room.",
            "directionality_class": "directional_3d",
            "element": "window frame",
            "orientation": "The exterior-facing frame is squared to camera, forming a rigid border around the curtain.",
            "state": "closed, weathered"
          }
        ],
        "lighting_mood": "Weak interior amber backlight pushes the silhouettes onto a gray curtain while the exterior remains cold blue-black, making the violence feel hidden and airless.",
        "perception_mode": "direct",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 7,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The man is only a flattened silhouette behind curtain fabric, so outlook identity references would create inappropriate visible detail.",
            "subject_id": "C10"
          },
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "Minsook appears only as a small crouched silhouette with no facial or clothing detail visible through the curtain.",
            "subject_id": "C04"
          }
        ]
      },
      {
        "camera_direction": "This is 수리영’s unaided subjective view: from chest height on the dark rooftop, the camera continues the reveal-stage dolly-in but holds colder and more symmetrical on the half-open iron door several meters ahead. The black gap sits dead center, the doorway occupying the middle third while the rooftop edges fall into darkness, as if the smell and silence are pulling her forward.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "half-open iron door with black interior gap",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Central dread object, framed symmetrically as the reveal point.",
            "directionality_class": "directional_3d",
            "element": "half-open iron entrance door",
            "orientation": "The door front faces the camera, opened just enough for a vertical black interior gap to show at its inner edge.",
            "state": "half-open, cold, still"
          },
          {
            "camera_use": "Void behind the door that withholds information and anchors fear.",
            "directionality_class": "non_directional",
            "element": "black room interior",
            "orientation": "",
            "state": "unlit, unreadable, silent"
          },
          {
            "camera_use": "Foreground approach plane that emphasizes the distance she must cross.",
            "directionality_class": "non_directional",
            "element": "dark rooftop floor",
            "orientation": "",
            "state": "rough, dim, empty"
          }
        ],
        "lighting_mood": "Moon-dim rooftop blues and desaturated cement tones leave the door rim faintly silver while the interior gap remains absolute black.",
        "perception_mode": "direct",
        "perspective": "subjective_pov",
        "pov_character": "수리영",
        "scene_index": 11,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "After the axis reversal, the camera locks off near the door line at eye level, looking back across the rooftop as if the threshold itself is staring at 수리영. Her widened eyes dominate the center of a tight frame, with the half-open door kept offscreen in her eyeline so the threat remains implied rather than shown again.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "frozen mid-step",
            "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": "수리영 shocked reaction",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft dark negative space behind her, isolating the shock in her face.",
            "directionality_class": "non_directional",
            "element": "dark rooftop background",
            "orientation": "",
            "state": "dim, empty, out of focus"
          },
          {
            "camera_use": "Implied offscreen source of her stare, represented only by the camera’s placement near it.",
            "directionality_class": "directional_3d",
            "element": "iron doorway line",
            "orientation": "The doorway is just outside the camera position, so only a sliver of cold metal edge may brush the extreme frame edge if visible.",
            "state": "half-open, mostly offscreen"
          }
        ],
        "lighting_mood": "Cold rooftop darkness leaves her face under a faint moon-gray wash, with tiny wet highlights in her eyes carrying the terror.",
        "perception_mode": "direct",
        "perspective": "object_pov",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "A neutral observer holds slightly wider than the forward push inside the bedroom, just below eye level and about six feet from the window, facing 민숙’s seated body frontally in one horrific tableau. The opened curtain frames her bowed head and torn shoulder line, while the blood-dark floor and window area remain visible enough to show the room’s physical reality rather than isolating the gore.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "seated head bowed",
            "character": "민숙",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Frame-within-frame around the corpse and source of cold night backlight.",
            "directionality_class": "transparent_surface",
            "element": "bedroom window",
            "orientation": "The window faces camera behind the body, showing only dark night and faint exterior haze through the glass.",
            "state": "closed, dark, slightly dirty"
          },
          {
            "camera_use": "Revealed boundary that exposes rather than hides the body.",
            "directionality_class": "directional_3d",
            "element": "opened curtain",
            "orientation": "Both curtain panels are pulled aside toward the frame edges, their inner folds facing the camera around the window.",
            "state": "open, disturbed"
          },
          {
            "camera_use": "Forensic trail and grounded horror texture leading toward the seated body.",
            "directionality_class": "non_directional",
            "element": "blood on floor",
            "orientation": "",
            "state": "wet in places, smeared, heavy near the window"
          },
          {
            "camera_use": "Muted domestic surface behind the violent reveal.",
            "directionality_class": "directional_3d",
            "element": "bedroom wall by window",
            "orientation": "The wall plane sits flat behind the body and curtain edges, catching dim spill light.",
            "state": "shadowed, stained by low light"
          }
        ],
        "lighting_mood": "Cold moon-blue from the window mixes with weak amber spill from the apartment, picking out the red-black wounds and damp blood without theatrical gloss.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera drops to hand level beside the seated body for a tighter macro observation than the stage default, tracking minimally as focus racks onto the crumpled photograph trapped inside 민숙’s stiff fingers. Her hand fills the lower center but not the whole frame, with a soft suggestion of wrist, sleeve, and blood-dark floor giving scale while the rest of the body falls away into blur.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "rigid hand clenched",
            "character": "민숙",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary evidence detail, isolated by macro focus inside the clenched hand.",
            "directionality_class": "content_surface",
            "element": "crumpled photograph",
            "orientation": "The printed face of the photograph is partially visible to camera between creases and fingers, but its full image is obscured.",
            "state": "crumpled, gripped tightly, blood-smudged"
          },
          {
            "camera_use": "Secondary occult clue just beyond the focal plane, ready to pull attention next.",
            "directionality_class": "content_surface",
            "element": "wrist tattoo",
            "orientation": "The marked side of the wrist faces the camera at a shallow angle, the tattoo visible as it begins turning red.",
            "state": "visible, reddening, skin cold"
          },
          {
            "camera_use": "Scale and death texture around the evidence.",
            "directionality_class": "non_directional",
            "element": "blood-stained fingers",
            "orientation": "",
            "state": "stiff, pale, smeared with dark blood"
          },
          {
            "camera_use": "Soft dark base plane under the hand, preventing the insert from becoming abstract.",
            "directionality_class": "non_directional",
            "element": "bedroom floor near body",
            "orientation": "",
            "state": "dim, blood-smeared, out of focus"
          }
        ],
        "lighting_mood": "A narrow cold highlight catches the knuckles and photo creases while the tattoo’s red shift becomes the only saturated color in the murky blue-black room.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 12,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The shot frames only Minsook’s dead hand and wrist; a full outlook reference would not align with the visible body part.",
            "subject_id": "C04"
          }
        ]
      },
      {
        "camera_direction": "From near the side of the bed at chest height, the camera completes the upward tilt and locks on the blank wall above the mattress; the lower edge of the bed remains a thin, dark horizontal reference at the bottom of frame while the wall takes most of the image. The blood-red circular mark resolves in sharp focus near the upper-center, as if a wet brush has just completed the stroke, with no visible hand or figure present.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary supernatural focal surface; the mark appears on it while the bed edge anchors scale.",
            "directionality_class": "content_surface",
            "element": "blank wall above the bed",
            "orientation": "The flat wall face is visible to camera, carrying the fresh blood-red circular mark as its only meaningful content.",
            "state": "otherwise empty, damp-looking, newly stained"
          },
          {
            "camera_use": "Low frame anchor beneath the wall, keeping the mark tied to the bedroom space.",
            "directionality_class": "directional_3d",
            "element": "bed edge and mattress",
            "orientation": "The side edge of the mattress faces camera from the lower frame.",
            "state": "dim, still, partially visible"
          }
        ],
        "lighting_mood": "Cold night room shadows are cut by the wet, arterial red of the mark, giving the muted interior a sudden occult pulse.",
        "perception_mode": "hallucination",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 14,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At eye level in the exterior space below the stairs, the camera holds a static wide frame about fourteen feet from 수리영, placing her full body in the center like a rigid post against the dark building façade. The only emphasized change is lighting: red siren pulses sweep across her face, coat, and the wet ground while she remains absolutely still.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "rigid heel-locked stance",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Dark mass behind 수리영, making her frozen body read as isolated.",
            "directionality_class": "directional_3d",
            "element": "rooftop building exterior",
            "orientation": "The flat front façade and stair-side wall face the camera in darkness.",
            "state": "wet, dark, closed-off"
          },
          {
            "camera_use": "Pulsing color source that rhythmically strikes 수리영 and the ground.",
            "directionality_class": "directional_3d",
            "element": "police car siren light",
            "orientation": "The rotating red lamp faces intermittently toward camera as it flashes.",
            "state": "on, flashing red"
          },
          {
            "camera_use": "Ground texture catching the siren reflection around her feet.",
            "directionality_class": "non_directional",
            "element": "wet exterior pavement",
            "orientation": "",
            "state": "slick, reflective with rain and fog"
          }
        ],
        "lighting_mood": "Harsh red siren flashes break through blue-black coastal night fog, flattening her shock into a blood-colored strobe.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Close beside 수리영 at slightly below eye level, the camera holds about two feet from her cheek and angles upward along her pale side profile toward 혜수’s position. 수리영’s tear line and trembling jaw stay in razor-thin focus on the left foreground, while 혜수 exists mostly as a soft, looming shoulder and partial face high in the right background.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "chin lifted trembling",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "bending toward Suryoung",
            "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": "Blurred night backdrop behind the two figures, keeping attention on the tearful profile.",
            "directionality_class": "non_directional",
            "element": "foggy exterior darkness",
            "orientation": "",
            "state": "soft, underexposed, damp"
          },
          {
            "camera_use": "Intermittent red rim on cheeks and hairline, linking the close-up to the emergency outside.",
            "directionality_class": "directional_3d",
            "element": "police siren spill",
            "orientation": "The light source is off-frame, striking the visible side planes of their faces.",
            "state": "flashing, red, irregular"
          }
        ],
        "lighting_mood": "A shallow-focus red siren wash flickers over sickly blue night tones, making 수리영’s tears flash like fresh blood.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Just inside the open bedroom doorway at eye level, the camera holds a wide, centered view long enough for the room’s impossible cleanliness to become oppressive. The bed sits to one side, the clean floor opens in the middle, and the spotless curtain hangs still in the background where the body and blood should have been.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Threshold frame that makes the clean room feel like evidence being inspected from outside.",
            "directionality_class": "directional_3d",
            "element": "open bedroom doorway",
            "orientation": "The inner doorframe faces camera and encloses the entire room view.",
            "state": "open, still"
          },
          {
            "camera_use": "Central absence marker; no blood or sign remains on or around it.",
            "directionality_class": "directional_3d",
            "element": "bed and mattress area",
            "orientation": "The bed’s side and top plane are visible from the doorway.",
            "state": "neatly made, spotless"
          },
          {
            "camera_use": "Empty evidence zone where earlier blood should have pooled.",
            "directionality_class": "non_directional",
            "element": "clean bedroom floor",
            "orientation": "",
            "state": "dry, wiped clean, unnaturally tidy"
          },
          {
            "camera_use": "Background focal absence where the body had been hidden.",
            "directionality_class": "transparent_surface",
            "element": "clean curtain",
            "orientation": "The curtain hangs closed enough to veil the corner, but its clean fabric and gap reveal no body or blood behind it.",
            "state": "spotless, motionless"
          }
        ],
        "lighting_mood": "Muted interior night light and weak spill from the main room give the tidy surfaces a drained, gray-green stillness with no comforting warmth.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the room near the bed, the camera has dollyed to within about one meter of 수리영 at chest height and angles slightly down so her drained face and the empty floor line behind the curtain share the frame. The lens tightens just enough to compress her with the spotless absence behind her, keeping the curtain edge as a vertical divider near the right side.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "leaning over curtain edge",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "empty floor behind curtain",
              "label": "수리영",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "empty floor behind curtain",
              "screen_zone": "lower_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Vertical frame divider beside 수리영, leading the eye down to the missing body location.",
            "directionality_class": "transparent_surface",
            "element": "clean curtain edge",
            "orientation": "The pale fabric edge is seen from the side with a narrow gap exposing the empty floor beyond.",
            "state": "clean, still, undisturbed"
          },
          {
            "camera_use": "Absence point beneath 수리영’s gaze.",
            "directionality_class": "non_directional",
            "element": "empty floor behind the curtain",
            "orientation": "",
            "state": "dry, spotless, no body present"
          },
          {
            "camera_use": "Spatial anchor beside 수리영, placing her at the exact discovery area.",
            "directionality_class": "directional_3d",
            "element": "bedside area",
            "orientation": "The bed side faces camera obliquely from the left midground.",
            "state": "neat, bloodless"
          }
        ],
        "lighting_mood": "The room is lit in flat, cold practical light, with pale beige fabric and gray floor tones making 수리영’s face look bloodless.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "In the main room at eye level, the camera holds a restrained frontal medium shot about 1.2 meters from 혜수 and 수리영. 혜수 is squared toward the lens with both hands centered on 수리영’s lowered shoulders, while 수리영’s bowed head and upper back form a smaller, collapsed shape in the foreground center.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "hands gripping shoulders",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "head bowed inward",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Muted domestic backdrop that contrasts with the emotional steadiness of 혜수’s hands.",
            "directionality_class": "directional_3d",
            "element": "main room wall and entry area",
            "orientation": "The wall plane and doorway edges face the camera behind the two figures.",
            "state": "dim, still, ordinary"
          },
          {
            "camera_use": "Soft practical glow holding the frame in realism after the supernatural confusion.",
            "directionality_class": "directional_3d",
            "element": "living room practical light",
            "orientation": "The lamp or overhead spill is off to one side, falling across the visible front planes of the characters.",
            "state": "on, weak, warm-dim"
          }
        ],
        "lighting_mood": "A tired warm practical light fights the cold room tones, giving 혜수’s hands a small human warmth amid the gray apartment.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From low bench height on the seaward side of the bus stop, the camera holds a quiet wide side-profile frame about three meters from 수리영. She is curled on the bench at the lower-left third, while the dark ocean spreads behind her as a large negative space, with the bus stop structure barely enclosing the scene.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "curled on bench",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Large negative space behind 수리영, emphasizing isolation and uncertainty.",
            "directionality_class": "non_directional",
            "element": "dark night ocean",
            "orientation": "",
            "state": "black, fog-softened, barely moving"
          },
          {
            "camera_use": "Physical support and horizontal line that keeps her small and low in frame.",
            "directionality_class": "directional_3d",
            "element": "bus stop bench",
            "orientation": "The bench length runs laterally across the lower frame, its seat plane visible from the side.",
            "state": "empty except for 수리영, damp"
          },
          {
            "camera_use": "Loose frame around her solitude, hinting at public space without safety.",
            "directionality_class": "transparent_surface",
            "element": "bus stop shelter panels",
            "orientation": "The damp panels are partly see-through, with fog and shoreline darkness visible beyond.",
            "state": "wet, smudged, unlit"
          }
        ],
        "lighting_mood": "Blue-black coastal darkness, salt fog, and a faint sodium edge light make her silhouette feel cold and abandoned.",
        "perception_mode": "direct",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Eye-level and diagonally between the bus stop and road, the camera finishes its pan on 혜수 about five meters away, using a slight off-axis frontal angle so her cupped hands and open calling mouth read clearly. The coastal road recedes behind and beside her, carrying 수리영’s small back-facing figure away into the foggy upper-right distance.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "hands cupped at mouth",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "running mid-stride away",
            "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": "수리영 down the coastal road",
              "label": "혜수",
              "screen_zone": "middle_left",
              "target_id": "C02",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "moves_toward",
              "gesture_target_label": "foggy road distance",
              "label": "수리영",
              "screen_zone": "upper_right",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "coastal road vanishing line",
              "screen_zone": "middle_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Depth line that keeps 수리영 visibly receding while 혜수 stays foregrounded.",
            "directionality_class": "directional_3d",
            "element": "coastal road",
            "orientation": "The road surface runs diagonally away from camera toward the upper-right background.",
            "state": "dark, damp, fog-laced"
          },
          {
            "camera_use": "Dim location marker beside 혜수, tying the call back to the bus stop.",
            "directionality_class": "transparent_surface",
            "element": "bus stop shelter",
            "orientation": "Wet shelter panels are seen obliquely, catching faint reflections while showing darkness through them.",
            "state": "unlit, wet, partially behind camera axis"
          },
          {
            "camera_use": "Atmospheric veil swallowing 수리영’s retreat.",
            "directionality_class": "non_directional",
            "element": "sea fog",
            "orientation": "",
            "state": "thickening, blue-gray"
          }
        ],
        "lighting_mood": "Muted roadside sodium light and cold sea fog flatten the scene, with 혜수’s face warmed slightly against the receding blue-black road.",
        "perception_mode": "direct",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From inside the police office just beyond the entrance, the eye-level camera faces the doorway at medium distance and dollies backward as 혜수 pushes in toward the lens with a smartphone pressed to her ear. She remains centered and frontal under the fluorescent wash, the door edge swinging behind her while the duty room opens dimly around her.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "pushing door inward",
            "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 frame that introduces 혜수 directly into the office space.",
            "directionality_class": "directional_3d",
            "element": "police office entrance door",
            "orientation": "The inner face and edge of the door swing toward camera as she enters.",
            "state": "opening, fluorescent-lit"
          },
          {
            "camera_use": "Flattening institutional light source shaping the anxious expression.",
            "directionality_class": "directional_3d",
            "element": "fluorescent ceiling lights",
            "orientation": "Long overhead fixtures run across the ceiling, facing downward onto the office.",
            "state": "on, harsh, slightly green"
          },
          {
            "camera_use": "Destination point deeper in the room, hinted behind her as the camera retreats.",
            "directionality_class": "directional_3d",
            "element": "duty desk area",
            "orientation": "The desk front and cluttered top face the doorway in the background.",
            "state": "occupied space, dimly active"
          }
        ],
        "lighting_mood": "Green-white fluorescent light strips away warmth, making the police office feel stale and procedural while her worry cuts through it.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Very close at desk height, the camera sits just in front of 김형사’s seated eye line and angles toward 혜수’s extended hand; the smartphone screen occupies the lower-center foreground without exceeding the frame, with 혜수’s tense fingers wrapped around it. 김형사’s eyes and upper face hover just behind the phone in shallow focus, while 혜수’s arm enters from the side as a firm diagonal demand.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "arm thrust forward",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C06",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_right",
            "body_pose": "seated behind desk",
            "character": "김형사",
            "gaze_direction_kind": "looks_at_object",
            "gaze_target_id": "P01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "smartphone screen",
              "screen_zone": "lower_center",
              "target_id": "P01",
              "target_kind": "prop"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "김형사",
              "screen_zone": "middle_center",
              "target_id": "C06",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "reaches_for",
              "gesture_target_label": "김형사's eye line",
              "label": "혜수",
              "screen_zone": "middle_left",
              "target_id": "C02",
              "target_kind": "character"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary foreground demand; it blocks part of 김형사’s view and carries the number she wants traced.",
            "directionality_class": "content_surface",
            "element": "smartphone screen",
            "orientation": "The lit front face is angled toward 김형사 and camera, showing a saved contact or number interface.",
            "state": "on, held close, slightly glaring"
          },
          {
            "camera_use": "Work surface grounding the confrontation at duty-desk height.",
            "directionality_class": "directional_3d",
            "element": "duty desk",
            "orientation": "The desktop plane runs horizontally beneath the phone and faces camera at a low angle.",
            "state": "cluttered, fluorescent-lit"
          },
          {
            "camera_use": "Institutional background texture behind 김형사’s face.",
            "directionality_class": "content_surface",
            "element": "police office paperwork and notice board",
            "orientation": "Paper faces and posted surfaces are partially visible behind him, their text-like content blurred and unreadable.",
            "state": "messy, out of focus"
          }
        ],
        "lighting_mood": "Cold fluorescent glare reflects off the phone glass and desk, sharpening the urgency into a hard green-white office chill.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the neighboring rooftop terrace at chest height, the camera holds a wide, static view about eighteen meters away, placing the small rooftop room in the middle distance beneath a bruised blue dawn sky. The lit window sits slightly right of center, its warm rectangle cutting through fog while wet parapet lines and neighboring roof edges frame the emptiness without revealing any figure.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary visual focus; the warm lit rectangle anchors the otherwise empty exterior composition.",
            "directionality_class": "transparent_surface",
            "element": "rooftop room window",
            "orientation": "The glass faces the camera at a slight angle, glowing yellow from the room beyond while revealing little interior detail.",
            "state": "closed-looking, lit from inside, damp around the frame"
          },
          {
            "camera_use": "Foreground and midground framing lines that emphasize distance and isolation.",
            "directionality_class": "directional_3d",
            "element": "neighboring rooftop parapet",
            "orientation": "The top ledge runs horizontally across the lower frame, with its wet outer face angled toward the camera.",
            "state": "wet, stained, cold concrete"
          },
          {
            "camera_use": "Atmospheric backdrop that sets the dawn horror tone.",
            "directionality_class": "non_directional",
            "element": "bluish dawn sky and low fog",
            "orientation": "",
            "state": "pale, fog-heavy, desaturated"
          },
          {
            "camera_use": "Environmental texture around the rooftop room, adding gritty realism.",
            "directionality_class": "directional_3d",
            "element": "small rooftop structure wall",
            "orientation": "Its front and side faces are visible, the windowed face turned slightly toward camera.",
            "state": "weathered, damp, lonely"
          }
        ],
        "lighting_mood": "Muted blue dawn ambience is pierced by one sickly warm yellow window glow, with coastal fog flattening the contrast into a damp occult stillness.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 17,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Just inside the room, the camera has tracked to a slightly lowered shoulder-side position beside 수리영, holding her tense side profile on the left third while the unnaturally clean floor below the opened curtains remains visible in the lower right. The frame is tight enough to read her half-parted lips and shallow exhale, but keeps the empty window area as the accusatory negative space she is checking.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "leaning toward window",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "The absence point; it occupies the lower right as the space she is inspecting.",
            "directionality_class": "non_directional",
            "element": "clean floor below the window",
            "orientation": "",
            "state": "too clean, dry, no blood, no body"
          },
          {
            "camera_use": "Vertical framing behind her profile, implying she has just exposed the window area.",
            "directionality_class": "directional_3d",
            "element": "opened curtains",
            "orientation": "The curtain panels are pulled outward to both sides, their inner folds facing the camera.",
            "state": "open, slightly wrinkled, still"
          },
          {
            "camera_use": "Cold back plane behind the clean floor, contrasting with her fear.",
            "directionality_class": "transparent_surface",
            "element": "bedroom window glass",
            "orientation": "The glass faces camera obliquely, pale daylight leaking through while the outside is indistinct.",
            "state": "closed, faintly fogged, cool-toned"
          },
          {
            "camera_use": "Background containment that makes the room feel freshly erased.",
            "directionality_class": "directional_3d",
            "element": "tidy bedroom wall and window frame",
            "orientation": "The flat wall faces camera behind 수리영, with the window frame forming hard vertical lines.",
            "state": "neat, scrubbed-looking, unnaturally orderly"
          }
        ],
        "lighting_mood": "Cool morning light washes the clean floor while a weak yellow interior spill clings to 수리영’s face, making the room feel sanitized rather than safe.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At sink height inside the bathroom, the camera is aligned squarely into the mirror so the reflected rear wall takes priority over the room itself. The blood-red circular mark sits sharp in the reflected mid-frame, while the mirror edge, damp sink line, and shallow focus make the image feel trapped inside a left-right reversed surface.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary framing surface; it creates the reflected horror image rather than a direct view.",
            "directionality_class": "reflective_surface",
            "element": "bathroom mirror",
            "orientation": "The mirror reflects the rear bathroom wall and the sudden blood-red circular mark, with faint moisture streaks softening the reflected edges.",
            "state": "slightly wet, dim, reflective"
          },
          {
            "camera_use": "Primary supernatural focal point inside the mirror image.",
            "directionality_class": "content_surface",
            "element": "reflected bathroom wall with red circular mark",
            "orientation": "The reflected wall surface faces the mirror, showing a fresh-looking blood-red circle centered against pale tile.",
            "state": "clean tile except for the vivid red mark"
          },
          {
            "camera_use": "Low foreground boundary that grounds the impossible reflection in a real bathroom.",
            "directionality_class": "directional_3d",
            "element": "sink rim",
            "orientation": "The curved front edge cuts across the lower frame, its top plane catching dim light.",
            "state": "wet, recently used"
          },
          {
            "camera_use": "Texture that makes the mirror image unstable without becoming fantasy-like.",
            "directionality_class": "non_directional",
            "element": "water droplets and bathroom humidity",
            "orientation": "",
            "state": "fresh, clinging to surfaces"
          }
        ],
        "lighting_mood": "Greenish bathroom daylight and dull porcelain whites are ruptured by the sharp blood-red circle, with moisture haze making the reflected image feel sickly and unreliable.",
        "perception_mode": "mirror",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 11,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From 수리영’s near-subjective position beside the dining table, the handheld camera pushes into an intimate close-up of the framed family photograph until the mother’s distorted printed face occupies most of the frame without losing the photo border. The angle is slightly downward and unstable, with the table edge barely visible as a scale reference while the melting features seem to crawl within the glossy print.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "printed portrait melting",
            "character": "민숙 (일그러진 얼굴)",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary hallucinated object; the printed image carries the distorted face.",
            "directionality_class": "content_surface",
            "element": "framed family photograph",
            "orientation": "The photograph’s front face is visible to camera, showing the mother’s smiling portrait grotesquely warped and smeared inside the frame.",
            "state": "glossy, apparently intact, visually distorted by hallucination"
          },
          {
            "camera_use": "Subtle reflective glint over the distorted face, making the image feel wet.",
            "directionality_class": "reflective_surface",
            "element": "photo frame glass",
            "orientation": "The glass reflects a faint strip of room light across the melting face, partially veiling the printed features.",
            "state": "clean, glossy, catching a thin highlight"
          },
          {
            "camera_use": "Grounding surface around the close-up so the photograph remains physically scaled.",
            "directionality_class": "directional_3d",
            "element": "dining table surface",
            "orientation": "The tabletop lies diagonally beneath the frame, its near edge just visible at the bottom.",
            "state": "dim, tidy, slightly worn"
          }
        ],
        "lighting_mood": "A dull domestic daylight base is infected by a bruised red-brown cast over the photograph, turning the familiar family image into a grounded hallucination rather than a supernatural spectacle.",
        "perception_mode": "hallucination",
        "perspective": "subjective_pov",
        "pov_character": "수리영",
        "scene_index": 18,
        "shot_index": 14,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The visible subject is a distorted printed image inside a photograph, not the physical person in the room. A base identity reference is enough; outlook-specific matching could conflict with the hallucinated melting face.",
            "subject_id": "C18"
          }
        ]
      },
      {
        "camera_direction": "Inside the narrow aisle, the camera continues the dolly-in from eye level and compresses 수리영 between two tall shelf walls, placing her firm face tight in the center-left while 남자 직원 remains a partial shoulder-and-cheek presence at the right edge. The shelves form vertical bars around her, and the shallow focus lets her locked eyeline carry the confrontation rather than cutting to a conventional reverse.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "shoulders squared forward",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C09",
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "leaning beside shelf",
            "character": "남자 직원",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Creates vertical pressure around 수리영’s face and narrows the emotional space.",
            "directionality_class": "directional_3d",
            "element": "tall grocery shelves",
            "orientation": "Both shelf faces run away from camera on either side, their front edges forming dark vertical bands.",
            "state": "stocked, orderly, slightly cramped"
          },
          {
            "camera_use": "Adds realism and faint clutter without stealing focus.",
            "directionality_class": "content_surface",
            "element": "product label rows",
            "orientation": "The label fronts face into the aisle, visible as muted colored strips along the shelf edges.",
            "state": "neatly arranged, softly blurred"
          },
          {
            "camera_use": "Cold overhead source that flattens the aisle into an investigative space.",
            "directionality_class": "directional_3d",
            "element": "fluorescent ceiling strips",
            "orientation": "Long light fixtures recede above the aisle, aligned with the camera’s forward axis.",
            "state": "on, cool, faintly flickering"
          },
          {
            "camera_use": "Depth line leading toward the exit direction later in the scene.",
            "directionality_class": "non_directional",
            "element": "narrow aisle floor",
            "orientation": "",
            "state": "clean, pale, quiet"
          }
        ],
        "lighting_mood": "Cool mart fluorescents drain the skin tones while muted shelf colors box in 수리영’s face, keeping the tension practical and airless.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From a high, CCTV-adjacent position on the exterior wall, the camera looks steeply down at 수리영 as she lifts her chin directly into the lens, making the surveillance point feel like an accuser. She is centered below with a slice of store wall and dull morning sky around her, her raised face confronting the exact place where evidence might exist.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "chin raised rigid",
            "character": "수리영",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Motivates the high angle and the direct confrontation with surveillance.",
            "directionality_class": "directional_3d",
            "element": "exterior CCTV camera housing",
            "orientation": "The camera housing is mounted above and angled downward toward the space where 수리영 stands.",
            "state": "fixed, weathered, functional-looking"
          },
          {
            "camera_use": "Flat background plane that emphasizes the height difference.",
            "directionality_class": "directional_3d",
            "element": "mart exterior wall",
            "orientation": "The wall face drops vertically behind 수리영, seen from above at a steep angle.",
            "state": "plain, slightly dirty, morning-damp"
          },
          {
            "camera_use": "Cold exterior atmosphere beyond the wall edge.",
            "directionality_class": "non_directional",
            "element": "pale morning sky",
            "orientation": "",
            "state": "overcast, desaturated"
          },
          {
            "camera_use": "Ground plane giving scale to her upward stare.",
            "directionality_class": "non_directional",
            "element": "pavement below the CCTV",
            "orientation": "",
            "state": "drying from dawn moisture, lightly stained"
          }
        ],
        "lighting_mood": "Flat early daylight and the wall’s grey-green cast make 수리영’s upturned face feel exposed, with no warmth except a faint gold edge from the low morning sun.",
        "perception_mode": "direct",
        "perspective": "object_pov",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Beside and slightly behind seated 수리영 at head height, the tracking camera lowers just enough to catch her tightly clasped hands in the lower foreground before settling on her rigid side profile. The CCTV desk and monitor glow stay soft behind her, while her bent head and clenched fingers form a single anxious line through the frame.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "hands clasped tight",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Contextual source of anxiety; kept blurred but recognizable behind her.",
            "directionality_class": "content_surface",
            "element": "CCTV monitor",
            "orientation": "The monitor’s front screen faces diagonally toward camera, showing indistinct dark surveillance footage.",
            "state": "on, dim, hard to read"
          },
          {
            "camera_use": "Foreground and midground plane tying hands, chair, and monitor into one tense workspace.",
            "directionality_class": "directional_3d",
            "element": "office desk edge",
            "orientation": "The desk side runs diagonally across the frame, its near edge close to the lens.",
            "state": "cluttered, functional, matte"
          },
          {
            "camera_use": "Cold institutional overhead tone.",
            "directionality_class": "directional_3d",
            "element": "office fluorescent lights",
            "orientation": "Ceiling fixtures face downward, reflected faintly on the monitor and desk.",
            "state": "on, harsh, cool"
          },
          {
            "camera_use": "Background texture of a practical security office.",
            "directionality_class": "directional_3d",
            "element": "security office partition wall",
            "orientation": "The wall plane sits behind the workstation, square to the camera’s side angle.",
            "state": "plain, beige-grey, worn"
          }
        ],
        "lighting_mood": "The monitor’s blue-grey glow and stale fluorescent light carve 수리영’s profile into a tense, colorless shape, with her hands catching the hardest highlights.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera continues the sideward track and stops at an eye-level medium-close side angle just forward of 혜수’s shoulder as she turns her head toward the seated 한국인 남성 across the desk. He remains present but secondary near the opposite edge, partially framed by the monitor, so her firm decision lands through her profile and eyeline rather than a centered two-shot.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "turning from monitor",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C05",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "perched behind desk",
            "character": "한국인 남성",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Separates the two characters and keeps the request grounded in office procedure.",
            "directionality_class": "directional_3d",
            "element": "security office desk",
            "orientation": "The desk front edge faces camera at a shallow diagonal between 혜수 and the seated staff member.",
            "state": "cluttered with office items, stable"
          },
          {
            "camera_use": "Obstructs and frames the staff member so 혜수’s eyeline remains dominant.",
            "directionality_class": "content_surface",
            "element": "CCTV monitor",
            "orientation": "The screen face is angled partly toward camera, displaying dark surveillance imagery as a dim block between them.",
            "state": "on, low contrast, murky"
          },
          {
            "camera_use": "Background institutional texture.",
            "directionality_class": "directional_3d",
            "element": "filing shelves and office wall",
            "orientation": "The shelf fronts face slightly toward camera behind the staff member.",
            "state": "orderly, dull, practical"
          },
          {
            "camera_use": "Hard overhead source that keeps the scene procedural.",
            "directionality_class": "directional_3d",
            "element": "fluorescent ceiling fixture",
            "orientation": "The lit underside faces down onto the desk and characters.",
            "state": "on, cool white"
          }
        ],
        "lighting_mood": "Cold office fluorescence holds the palette in grey-green tones, with the CCTV monitor adding a faint blue cast to 혜수’s determined profile.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From just above the tabletop at the desk edge, the camera dollies in low toward 수리영 beyond the blurred crime photographs in the lower foreground. Her pale face and open mouth take over the upper frame, angled down toward the images, while the photos remain out-of-focus wounds at the bottom rather than readable evidence.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "hunched over photographs",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Blurred lower foreground that motivates her shock without becoming the main readable subject.",
            "directionality_class": "content_surface",
            "element": "scattered enlarged crime photographs",
            "orientation": "The photo fronts face upward toward the camera angle, showing indistinct gruesome images blurred along the lower edge.",
            "state": "spread messily, glossy, disturbing"
          },
          {
            "camera_use": "Low foreground plane and compositional ledge for the upward angle.",
            "directionality_class": "directional_3d",
            "element": "혜수’s desk edge",
            "orientation": "The desk edge runs horizontally across the lower frame, with its top plane receding toward 수리영.",
            "state": "cluttered, official, worn"
          },
          {
            "camera_use": "Background proof of the empty police office beyond her shock.",
            "directionality_class": "directional_3d",
            "element": "police office desks",
            "orientation": "Desk sides and chair backs recede behind 수리영 in soft focus.",
            "state": "temporarily empty, papers left behind"
          },
          {
            "camera_use": "Institutional light source flattening the horror into realism.",
            "directionality_class": "directional_3d",
            "element": "overhead police station fluorescents",
            "orientation": "Ceiling fixtures face downward, catching pale highlights on her face and the photos.",
            "state": "on, harsh, cool"
          }
        ],
        "lighting_mood": "Bleached fluorescent light drains 수리영’s face while the blurred photo gloss throws faint red-brown accents upward, making her shock feel clinical and nauseating.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At seated eye level beside 혜수’s desk, the camera holds tight on 수리영 after her head turn, placing her tense eyes sharp on the left half of the frame while the empty bullpen recedes into negative space behind her. The static composition lets her pupils scan off-frame without cutting, making the silence of the abandoned office part of the threat.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "twisting in chair",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "empty police office space",
              "screen_zone": "middle_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Negative space confirming she is alone while she scans for witnesses.",
            "directionality_class": "directional_3d",
            "element": "empty police office desks and chairs",
            "orientation": "Desk fronts and chair backs recede behind her toward the right side of frame.",
            "state": "vacant, papers left out, still"
          },
          {
            "camera_use": "Side anchor showing she remains at 혜수’s workstation.",
            "directionality_class": "directional_3d",
            "element": "혜수’s desk corner",
            "orientation": "The desk corner cuts into the lower left foreground, angled toward her seated body.",
            "state": "cluttered, unattended"
          },
          {
            "camera_use": "Possible source of the alert and reason for her caution, kept peripheral.",
            "directionality_class": "content_surface",
            "element": "nearby computer monitor",
            "orientation": "The screen face is angled away at the background edge, showing a faint active glow but unreadable detail.",
            "state": "on, dim, unattended"
          },
          {
            "camera_use": "Creates slight separation and institutional depth behind her.",
            "directionality_class": "transparent_surface",
            "element": "office glass partition",
            "orientation": "The glass is slightly reflective and transparent, showing empty desks beyond through a dull haze.",
            "state": "clean but smudged, faintly reflective"
          }
        ],
        "lighting_mood": "Cool police-station fluorescents leave her eyes hard and glassy, while the background falls into muted grey-blue emptiness with only tiny monitor glows for life.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the launch-stage low side-tracking path, the camera runs parallel to Suriyeong at pedal-to-waist height, about 1.5 meters off the bicycle, tightening the frame so her forward-leaning torso sits in the upper right while the loaded pedal and front wheel cut across the lower left. This is a direct observer view with a slight handheld vibration and shallow depth of field, making the parked police-station exterior smear into damp muted streaks as the bicycle surges forward.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "leaning over handlebars",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "frame right, out of the police-station forecourt",
              "label": "Suriyeong on bicycle",
              "screen_zone": "middle_right",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "blurred background reference behind the tracking bicycle",
            "directionality_class": "directional_3d",
            "element": "police-station exterior wall and entrance edge",
            "orientation": "side wall and doorway edge slide horizontally behind the cyclist, showing the building in lateral passing view",
            "state": "daylight, damp, slightly out of focus"
          },
          {
            "camera_use": "ground texture catching the pedal-level motion",
            "directionality_class": "non_directional",
            "element": "wet pavement",
            "orientation": "",
            "state": "darkened by moisture with small reflective patches"
          },
          {
            "camera_use": "motion reference in the lower frame",
            "directionality_class": "directional_3d",
            "element": "bicycle frame and pedal assembly",
            "orientation": "left side of the bicycle faces camera; pedal is angled downward under Suriyeong's weight",
            "state": "in sudden launch motion"
          }
        ],
        "lighting_mood": "Overcast daylight is flattened into a cold gray-green police-station palette, with wet pavement highlights giving the launch a tense metallic edge.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 22,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "In the close-observation start position, the camera holds at monitor height on the far side of the desk, lens just above the screen line about three feet from Suriyeong, framing her face tightly while the monitor edge glows as a thin lower foreground band. This is a direct observer view that feels almost like the computer staring back at her; her face sits centered, rigid and frontal, while rows of dark PC booths dissolve behind her.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "hunched over keyboard",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "primary light source and lower foreground frame",
            "directionality_class": "content_surface",
            "element": "computer monitor",
            "orientation": "screen face is turned toward Suriyeong and partly toward camera from the far side; its bright content is unreadable but casts hard light upward",
            "state": "on, bright, cool-white"
          },
          {
            "camera_use": "dark receding environment around her head",
            "directionality_class": "directional_3d",
            "element": "PC room desk partitions",
            "orientation": "partition edges face the camera in staggered rows, forming narrow dark corridors behind her",
            "state": "dim, cluttered, mostly unlit"
          },
          {
            "camera_use": "small practical glow in the background",
            "directionality_class": "content_surface",
            "element": "distant PC screens",
            "orientation": "screen faces are angled away and only visible as soft rectangular light patches",
            "state": "on but heavily blurred"
          }
        ],
        "lighting_mood": "The room is nearly black except for a harsh bluish monitor glow carving her face, with faint red and amber PC-room LEDs puncturing the darkness.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 23,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Following the close-observation mid flow, the camera stays very low and frontal just ahead of the bicycle, roughly handlebar height and about two meters away, dollying backward on the same axis as Suriyeong drives through the rain. Her silhouette occupies the center vertical strip, hands clamped across the lower third on the handlebars, while splashing water bursts up from the front wheel without overwhelming the frame.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "braced over handlebars",
            "character": "수리영",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "camera along the flooded coastal road",
              "label": "Suriyeong cycling through rain",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "backlight source revealing the silhouette at the timed instant",
            "directionality_class": "non_directional",
            "element": "lightning behind storm clouds",
            "orientation": "",
            "state": "brief white-gold flash through black clouds"
          },
          {
            "camera_use": "foreground motion texture and impact against the wheel",
            "directionality_class": "non_directional",
            "element": "rain-slashed puddles",
            "orientation": "",
            "state": "violently disturbed, splashing upward"
          },
          {
            "camera_use": "distant setting line behind the cyclist",
            "directionality_class": "non_directional",
            "element": "dark coastal road and sea haze",
            "orientation": "",
            "state": "obscured by heavy rain and mist"
          }
        ],
        "lighting_mood": "A cold storm palette is cut by a sudden lightning backflash, turning Suriyeong into a black frontal silhouette while rain and water spray sharpen silver-white.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 24,
        "shot_index": 1,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Suriyeong is intentionally rendered as a rain-dark frontal silhouette; detailed outlook reference should not drive the face because the identity is carried by action and context.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "The reveal-stage push-in ends at eye level in an extremely tight direct view of the bedroom wall: the blood-red circle expands to the edges of the wall plane, while the old blood-stained photograph is pinned dead center and kept just large enough to read without becoming an impossible oversized prop. The frame is locked square to the marked surface, flattening the wall into a ritual-like content plane and making the pinhole and dried stains feel tactile.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "blood-red circle and pinned photograph centered on bedroom wall",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "central focal surface and occult mark",
            "directionality_class": "content_surface",
            "element": "blood-red circle painted on bedroom wall",
            "orientation": "the painted face of the wall is square to camera; the red circular mark surrounds the pinned photograph like a target",
            "state": "fresh-looking, uneven, smeared at the edges"
          },
          {
            "camera_use": "dead-center focal detail inside the red circle",
            "directionality_class": "content_surface",
            "element": "old blood-stained photograph",
            "orientation": "front image side faces the camera; its aged picture surface is visible beneath dark blood smears and a central pin",
            "state": "yellowed, wrinkled, blood-stained, pinned to wall"
          },
          {
            "camera_use": "rough material texture around the mark",
            "directionality_class": "non_directional",
            "element": "bedroom wall plaster",
            "orientation": "",
            "state": "dirty, scuffed, dusk-dim"
          }
        ],
        "lighting_mood": "Golden dusk leaking through the ruined rooftop room is muted by gray interior shadow, letting the red circle and brown-black blood stains become the only aggressive color accents.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "After the logical cut to the reaction stage, the camera sits at the foot of the bed at seated eye level, about five feet from Suriyeong, holding the frontal angle but lowered enough that the sagging mattress edge cuts across the lower frame. Suriyeong is centered and slightly compressed by the messy room behind her, the photograph clutched near her lap rather than pushed toward lens, so the emphasis shifts to the dead weight of her collapse.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "slumped on bed edge",
            "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": "Suriyeong isolated on bed edge",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "horizontal foreground anchor emphasizing her dropped weight",
            "directionality_class": "directional_3d",
            "element": "bed edge and sagging mattress",
            "orientation": "the foot side of the bed faces camera, forming a low horizontal block beneath Suriyeong",
            "state": "rumpled, compressed where she sits"
          },
          {
            "camera_use": "chaotic background pressure around the subject",
            "directionality_class": "directional_3d",
            "element": "ransacked bedroom furniture",
            "orientation": "drawer fronts and overturned edges face camera at uneven angles behind her",
            "state": "disordered, open, knocked askew"
          },
          {
            "camera_use": "small object in her lap connecting to the prior reveal",
            "directionality_class": "content_surface",
            "element": "old blood-stained photograph",
            "orientation": "photo front is tilted downward toward Suriyeong's lap, only partly visible to camera",
            "state": "creased, stained, tightly held"
          }
        ],
        "lighting_mood": "Low gold dusk from the rooftop window is swallowed by interior gray shadow, leaving her face pallid and the photograph's dried red-brown stains as a quiet horror accent.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the establishing start position, the camera holds very wide at low eye level on the empty harbor edge, about eighteen meters from Suriyeong, facing the fog-covered sea while the vacant pier stretches laterally across the frame. Suriyeong appears small on the lower-left rocks, curled into herself against the massive pale fog and wet harbor emptiness.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "curled on wet 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 atmospheric depth and negative space",
            "directionality_class": "non_directional",
            "element": "dense harbor fog",
            "orientation": "",
            "state": "thick, drifting, obscuring the boats"
          },
          {
            "camera_use": "lateral spatial line across the wide frame",
            "directionality_class": "directional_3d",
            "element": "vacant pier",
            "orientation": "long side of the pier runs across the frame with its edge receding into fog",
            "state": "empty, wet, dim at dusk"
          },
          {
            "camera_use": "physical perch isolating Suriyeong",
            "directionality_class": "non_directional",
            "element": "black wet rocks",
            "orientation": "",
            "state": "slick, dark, uneven"
          },
          {
            "camera_use": "distant void she faces",
            "directionality_class": "non_directional",
            "element": "fog-covered sea",
            "orientation": "",
            "state": "flat, gray, boatless at first glance"
          }
        ],
        "lighting_mood": "The post-rain harbor is washed in muted blue-gray fog with faint golden dusk diffused behind it, making the rocks and Suriyeong's silhouette feel cold and abandoned.",
        "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": "Suriyeong is a small, back-facing figure in a very wide foggy frame; body placement and silhouette matter more than detailed outlook reference.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "At the close-observation mid point on the dock, the camera holds waist height about two meters from Inwoo, slightly behind the mooring rope line so the rope cuts diagonally through the foreground before reaching his hand. Inwoo's side profile sits tight in the right half of frame, with the subdued foggy dock and moored boat kept soft behind him.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "bracing mooring rope",
            "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 diagonal separating camera from Inwoo",
            "directionality_class": "non_directional",
            "element": "mooring rope",
            "orientation": "",
            "state": "wet, taut in his hand"
          },
          {
            "camera_use": "background mass indicating his arrival point",
            "directionality_class": "directional_3d",
            "element": "small fishing boat hull",
            "orientation": "side of the hull faces camera from behind Inwoo, partly swallowed by fog",
            "state": "moored, damp, engine quiet"
          },
          {
            "camera_use": "horizontal footing beneath him",
            "directionality_class": "directional_3d",
            "element": "wooden dock edge",
            "orientation": "plank lines run away from camera beside the boat",
            "state": "wet, darkened, empty"
          },
          {
            "camera_use": "atmospheric veil flattening the background",
            "directionality_class": "non_directional",
            "element": "harbor fog",
            "orientation": "",
            "state": "dense and gray"
          }
        ],
        "lighting_mood": "Fog-diffused dusk softens everything into gray-green coastal tones, with a faint warm rim along the rope and Inwoo's cheekbone but no comforting brightness.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the close-observation start, the camera is eye level in the ransacked rooftop living area, about 1.5 meters in front of Hyesu, holding a slightly tight frontal frame that keeps the phone at her ear visible along the right edge of her face. The ruined room falls behind her in shallow focus, making her fixed expression feel trapped between the recorded message and the hollow interior.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "phone pressed to ear",
            "character": "혜수",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "background evidence of intrusion behind Hyesu",
            "directionality_class": "directional_3d",
            "element": "overturned dining chairs",
            "orientation": "chair legs and backs face the camera at broken, mismatched angles",
            "state": "knocked over, abandoned"
          },
          {
            "camera_use": "dim opening adding unease in the rear of frame",
            "directionality_class": "transparent_surface",
            "element": "open living-room window",
            "orientation": "open frame reveals dusk haze beyond; glass edges catch weak light",
            "state": "open, damp, wind-exposed"
          },
          {
            "camera_use": "off-screen sound source implied in the space",
            "directionality_class": "directional_3d",
            "element": "entrance door area",
            "orientation": "door edge is visible behind her at an angle, not yet the focus",
            "state": "loose, rattling in the wind"
          },
          {
            "camera_use": "handheld communication object tied to her reaction",
            "directionality_class": "directional_3d",
            "element": "smartphone",
            "orientation": "thin side and back edge face camera as it is pressed to her ear; screen is not visible",
            "state": "on call playback, held tight"
          }
        ],
        "lighting_mood": "Late dusk seeps through the open window in a dirty amber-gray wash, leaving Hyesu's face tense and underlit against the trashed room's cold shadows.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 27,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the port-side deck-rail establishing start, the camera sits low at shoulder height about three meters from seated Suriyeong, angled across the deck toward Inwoo with the sunset sea behind them. Suriyeong is held in strong side profile on the left, her arm and map thrusting as a clear diagonal toward Inwoo on the right, while the open deck space between them feels exposed and windy.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "seated extending map",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning by rail",
            "character": "인우",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "reaches_for",
              "gesture_target_label": "Inwoo across the deck",
              "label": "Suriyeong offering map",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Inwoo receiving the pressure of the question",
              "screen_zone": "middle_right",
              "target_id": "C03",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "low boundary line and coastal texture in the foreground side",
            "directionality_class": "directional_3d",
            "element": "port-side deck rail",
            "orientation": "inside face of the rail runs diagonally from camera toward Inwoo",
            "state": "wet, salt-stained"
          },
          {
            "camera_use": "main directional prop line between characters",
            "directionality_class": "content_surface",
            "element": "folded map",
            "orientation": "printed map face is angled toward Inwoo, with its creases and pale paper visible to camera in partial side view",
            "state": "unfolded, damp at the corners"
          },
          {
            "camera_use": "background horizon and isolation cue",
            "directionality_class": "non_directional",
            "element": "sunset sea",
            "orientation": "",
            "state": "darkening, gently heaving, gold haze at horizon"
          },
          {
            "camera_use": "working-boat environment underfoot",
            "directionality_class": "directional_3d",
            "element": "small fishing boat deck",
            "orientation": "deck boards recede from Suriyeong toward Inwoo and the wheelhouse",
            "state": "wet, cramped, cluttered but passable"
          }
        ],
        "lighting_mood": "Golden dusk backlight silhouettes the deck edges and warms the sea haze, while faces remain muted blue-gray with the pale map as the sharpest light accent.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the end of the dolly-in, the camera locks less than a meter from Inwoo at eye level, turning the push into a tight direct close-up where his widened eyes and frozen mouth occupy most of the frame. The old photograph enters softly from Suriyeong's off-screen side near the lower-left lens edge, present as pressure rather than the focus, while the boat background collapses into dusk blur.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "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": "none",
              "gesture_target_label": "",
              "label": "Inwoo isolated in frozen reaction",
              "screen_zone": "middle_center",
              "target_id": "C03",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "soft foreground pressure near the lens",
            "directionality_class": "content_surface",
            "element": "old photograph",
            "orientation": "front image side is angled toward Inwoo and partly toward camera from the lower-left edge, blurred enough that Inwoo's reaction remains primary",
            "state": "creased, old, blood-marked"
          },
          {
            "camera_use": "background color and motion reference",
            "directionality_class": "directional_3d",
            "element": "fishing boat deck behind Inwoo",
            "orientation": "deck and rail edges angle away behind his shoulders in shallow focus",
            "state": "wet, dusk-dark, gently shifting"
          },
          {
            "camera_use": "distant environmental glow behind the close-up",
            "directionality_class": "non_directional",
            "element": "sunset sea haze",
            "orientation": "",
            "state": "soft gold-gray blur"
          }
        ],
        "lighting_mood": "A thin gold dusk rim catches Inwoo's cheek and wet hairline while his face stays cool and ashen, making the red-brown stains on the blurred photograph feel like a threat at the edge of vision.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "A direct, neutral observer camera stays low beside the wheelhouse console, within Suriyoung's reach, pushed tighter than the flow default so the old photograph lies diagonally across the middle of frame and her index finger presses the child's image near center. The shot is an insert with shallow focus: her fingertip and the faded child's figure take nearly all attention, while the console edge only appears as a damp, dark border along the lower frame.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "index finger pinning photo",
            "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 surface beneath Suriyoung's fingertip; its printed image carries the identification beat.",
            "directionality_class": "content_surface",
            "element": "old photograph",
            "orientation": "The upward-facing printed side is visible to camera, with the child's figure directly under the fingertip and the rest of the group fading into soft blur.",
            "state": "faded, slightly curled, damp at the edges"
          },
          {
            "camera_use": "Low dark base under the photograph, giving scale and gritty wheelhouse texture without stealing focus.",
            "directionality_class": "directional_3d",
            "element": "worn wheelhouse console top",
            "orientation": "The flat top plane faces upward at a shallow angle to camera, with chipped paint and salt grime along the lower edge of frame.",
            "state": "scuffed, wet-speckled, unlit"
          }
        ],
        "lighting_mood": "Muted golden dusk leaks softly from above and behind, while the fingertip and photograph are held in a cold, damp shadow with a faint rusty-red undertone in the print.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 3,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only Suriyoung's hand is visible in this insert; a full outlook reference would over-specify facial or body identity that the frame does not show.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "From the flow's eye-level position behind Inwoo, the camera tracks just enough to set his shoulder as a dark, out-of-focus vertical edge on the left foreground while the wheelhouse wall opens across the midground and background. The composition stays colder and more graphic than the previous insert: the red circular marks fill the wall beyond him, with Inwoo reduced to a rigid silhouette guarding the reveal.",
        "character_angles": [
          {
            "angle": "over_shoulder",
            "body_pose": "shoulders locked forward",
            "character": "인우",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Main visual focus; the marks transform the wheelhouse into an occult threat behind Inwoo.",
            "directionality_class": "content_surface",
            "element": "wheelhouse wall covered with red circular marks",
            "orientation": "The interior wall face turns toward camera, showing many blood-red circles painted directly on the damp surface, clustered behind Inwoo's shoulder.",
            "state": "wet-stained, densely marked, oppressive"
          },
          {
            "camera_use": "Dim lateral source and texture layer, adding coastal dusk without distracting from the marks.",
            "directionality_class": "transparent_surface",
            "element": "salt-streaked wheelhouse window",
            "orientation": "The cloudy pane sits off to the side, letting a blurred strip of golden sea light seep through condensation and grime.",
            "state": "fogged, streaked, partially reflective"
          },
          {
            "camera_use": "Spatial compression in the cramped room, squeezing Inwoo and the marked wall together.",
            "directionality_class": "directional_3d",
            "element": "narrow wheelhouse ceiling and corner seam",
            "orientation": "The low ceiling plane slopes toward the visible wall corner, emphasizing the boxed-in interior.",
            "state": "damp, shadowed, worn"
          }
        ],
        "lighting_mood": "Cold interior shadow swallows Inwoo's shoulder while the wall's blood-red circles cut sharply against muted gray-green metal and a thin gold dusk spill.",
        "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": "Inwoo is used mainly as a shoulder silhouette and foreground edge; the shot should not depend on detailed outlook matching.",
            "subject_id": "C03"
          }
        ]
      },
      {
        "camera_direction": "The camera holds static at the flow's tight side angle beside Inwoo's face, eye-level and very close, with his cold profile sharp in the upper right half of frame. Suriyoung's unconscious head and shoulder sag into the lower foreground against him, soft but unmistakable, while the cramped wheelhouse recedes in blurred red-and-gold traces behind them.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "chin tilted down",
            "character": "인우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_right",
            "body_pose": "slumped on shoulder",
            "character": "수리영",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "unconscious"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Blurred occult background echo behind Inwoo's profile, maintaining threat after the reveal.",
            "directionality_class": "content_surface",
            "element": "wheelhouse wall with red circular marks",
            "orientation": "Only part of the marked interior face is visible behind the characters, its red circles softened by shallow depth of field.",
            "state": "damp, marked, out of focus"
          },
          {
            "camera_use": "Back-edge light source outlining Inwoo's cheek and Suriyoung's collapsed hair and shoulder.",
            "directionality_class": "transparent_surface",
            "element": "fogged side window",
            "orientation": "The misted pane lets a narrow band of golden dusk glow through, with no clear exterior detail visible beyond the condensation.",
            "state": "fogged, dirty, dimly glowing"
          },
          {
            "camera_use": "Tight vertical frame line that reinforces the trapped, narrow wheelhouse space.",
            "directionality_class": "directional_3d",
            "element": "metal doorframe edge",
            "orientation": "The side edge faces camera as a dark vertical strip near the far frame edge.",
            "state": "chipped, damp, shadowed"
          }
        ],
        "lighting_mood": "A hard, thin gold rim light cuts Inwoo's profile while the rest of the close frame falls into cold green-gray shadow, with red marks bleeding softly in the background.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "A direct exterior observer camera trails low over the waves, several boat lengths behind the small fishing boat, keeping the same axis as the flow while widening slightly so the boat remains a small central silhouette against the towering fog wall. The horizon sits low, the fog rises through most of the frame, and the boat's dark stern points toward camera as its bow nears the pale boundary.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "small fishing boat silhouette",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "massive fog wall",
              "screen_zone": "upper_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary moving silhouette and scale reference against the fog wall.",
            "directionality_class": "directional_3d",
            "element": "small fishing boat",
            "orientation": "The stern faces the camera while the bow points away into the fog boundary, keeping the vessel centered and small against the environment.",
            "state": "dark silhouette, moving slowly, wet hull"
          },
          {
            "camera_use": "Dominant background mass that erases the world ahead and creates the occult threshold.",
            "directionality_class": "non_directional",
            "element": "massive fog wall",
            "orientation": "",
            "state": "dense, towering, nearly opaque"
          },
          {
            "camera_use": "Reflective foreground path leading the eye from camera to boat.",
            "directionality_class": "reflective_surface",
            "element": "golden dusk sea surface",
            "orientation": "The broken wave surface reflects the low sun in long gold streaks, interrupted by the boat's dark wake.",
            "state": "restless, metallic, wind-ruffled"
          },
          {
            "camera_use": "Backlight source that silhouettes the boat and stains the fog edge gold.",
            "directionality_class": "non_directional",
            "element": "low setting sun haze",
            "orientation": "",
            "state": "dim, amber, partially swallowed by mist"
          }
        ],
        "lighting_mood": "Heavy fog cools the palette to muted gray-blue while the low sun throws a restrained golden backlight across the water, making the boat look fragile and doomed.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 30,
        "shot_index": 1,
        "subject_reference_policy": []
      }
    ],
    "total": 54,
    "failed_batches": 0
  },
  "step_id": "shot_staging",
  "run_id": "f4c6497c-6ba5-4aae-81d8-cfe39930d419",
  "resolved_model": "gpt",
  "updated_at": "2026-06-30T22:49:09.691488+00:00",
  "schema_version": 6,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}