{
  "status": "completed",
  "completed_count": 66,
  "applicable_count": 66,
  "failed_count": 0,
  "data": {
    "shots": [
      {
        "camera_direction": "From the flow’s chest-to-eye-height end position, the lens stays less than a meter from 한국인 남자, backing through the brush as his terrified face nearly fills the frame. The shot holds a fraction too long on his frozen facial muscles, using a slightly compressed close lens so the foggy trunks and thorny leaves stack tightly behind him like a wall before the coming pan.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "stumbling toward lens",
            "character": "한국인 남자",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "compressed background wall behind the close-up, making the forest feel suffocating",
            "directionality_class": "directional_3d",
            "element": "dark forest trunks",
            "orientation": "trunk sides overlap behind him at shallow depth, their vertical faces closing in toward the camera",
            "state": "wet, dim, partially hidden by dusk fog"
          },
          {
            "camera_use": "ragged foreground edges that brush the frame as the camera backs up",
            "directionality_class": "non_directional",
            "element": "dense undergrowth",
            "orientation": "",
            "state": "trampled, damp, shaking slightly from his movement"
          },
          {
            "camera_use": "atmospheric layer that reduces depth and prepares the snap-pan reveal",
            "directionality_class": "non_directional",
            "element": "blue-gray forest fog",
            "orientation": "",
            "state": "thick, humid, drifting low through the brush"
          }
        ],
        "lighting_mood": "Golden dusk has almost died into blue-gray shadow, with a faint sickly warmth on his skin and cold fog swallowing the background.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Continuing from the snap past the man’s shoulder, the camera is now slightly below head height near his front-left side, tilted upward into the dark mist. 검은 실루엣 hangs in the upper middle of the frame for one suspended instant, arms reaching downward while fog tears backward against its direction of travel.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "lunging mid-air downward",
            "character": "검은 실루엣",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "lower foreground impact path",
              "label": "airborne black silhouette",
              "screen_zone": "upper_center",
              "target_id": "C13",
              "target_kind": "character"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "backdrop that hides the origin of the leap and silhouettes the figure",
            "directionality_class": "non_directional",
            "element": "dark fog bank",
            "orientation": "",
            "state": "dense, torn open by the silhouette’s motion"
          },
          {
            "camera_use": "low jagged frame at the bottom edge, giving scale to the airborne drop",
            "directionality_class": "non_directional",
            "element": "brush line below the leap",
            "orientation": "",
            "state": "blackened by dusk, wet, partially out of focus"
          },
          {
            "camera_use": "vertical reference behind the tilted upward angle",
            "directionality_class": "directional_3d",
            "element": "distant tree trunks",
            "orientation": "thin side faces recede diagonally behind the fog, visible only as broken vertical marks",
            "state": "obscured, blue-gray, barely readable"
          }
        ],
        "lighting_mood": "The silhouette is nearly lightless against cold blue fog, with only a dying dusk rim carving its shoulders and ominous red-brown undertones buried in the shadows.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 4,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The figure is intentionally unreadable as a black shape in fog; a generic silhouette description is more important than a detailed identity/outlook reference.",
            "subject_id": "C13"
          }
        ]
      },
      {
        "camera_direction": "Derived from the slow push into the man’s face, the camera tightens from forty centimeters into an extreme close-up slightly below eye level, isolating only 한국인 남자’s eyes and the wet skin around them. The streetlight reflection cuts across the red pupils while the rest of the alley collapses into black blur at the frame edges.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "head lifting close",
            "character": "한국인 남자",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "pinpoint reflection inside the eyes and sickly top source",
            "directionality_class": "directional_3d",
            "element": "streetlight above the alley",
            "orientation": "the lamp underside faces down toward him and appears only as a distorted glint in the pupils",
            "state": "on, weak, yellow-green"
          },
          {
            "camera_use": "dark vertical mass just outside focus, implying the bodies are pressed near it",
            "directionality_class": "directional_3d",
            "element": "utility pole",
            "orientation": "one rough wooden side runs behind the close-up, mostly lost to blur",
            "state": "old, damp, grimy"
          },
          {
            "camera_use": "edge darkness that frames the red-eye reveal",
            "directionality_class": "non_directional",
            "element": "night alley shadow",
            "orientation": "",
            "state": "deep, humid, almost black"
          }
        ],
        "lighting_mood": "A diseased sodium streetlight glints red in the eyes while the surrounding skin falls into oily blue-black night shadow.",
        "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 frame isolates the eyes and surrounding skin only, so a full outlook reference would not align reliably with the intended extreme close-up.",
            "subject_id": "C08"
          }
        ]
      },
      {
        "camera_direction": "The camera completes the downward tilt near the base of the utility pole, settling about seventy centimeters above the asphalt and looking down at a shallow angle. 여자 lies across the lower half of frame with her neck twisted toward the pole, while the empty wet pavement around her makes the stillness feel final.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "sprawled under pole",
            "character": "여자",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "hard vertical anchor beside the body, showing where she collapsed",
            "directionality_class": "directional_3d",
            "element": "utility pole base",
            "orientation": "the lower front-left side of the pole faces camera, cropped near the upper edge",
            "state": "stained, damp, scuffed"
          },
          {
            "camera_use": "ground plane that holds the body and catches weak light",
            "directionality_class": "non_directional",
            "element": "asphalt pavement",
            "orientation": "",
            "state": "wet, dirty, reflecting small yellow patches"
          },
          {
            "camera_use": "thin spill of illumination separating the corpse from darkness",
            "directionality_class": "non_directional",
            "element": "streetlight pool",
            "orientation": "",
            "state": "dim, uneven, sickly warm"
          }
        ],
        "lighting_mood": "Cold alley darkness surrounds a weak yellow streetlight spill, leaving the body pallid against wet blue-gray asphalt.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "As regional news footage, the camera holds a low eye-level wide view from just outside the yellow police line, about eighteen feet from the black body-collection stretcher. The stretcher sits centered but small within a deliberately empty patch of forest floor, while the tape cuts across the foreground as a forbidden boundary.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "foreground boundary line that separates the viewer from the crime scene",
            "directionality_class": "content_surface",
            "element": "yellow police line",
            "orientation": "the printed warning side faces the camera in a diagonal strip across the lower foreground",
            "state": "taut, bright yellow, slightly muddy"
          },
          {
            "camera_use": "central focal object inside the cordoned space",
            "directionality_class": "directional_3d",
            "element": "black body-collection stretcher",
            "orientation": "its top surface faces upward and slightly toward camera, with the long side aligned left-to-right",
            "state": "closed, still, matte black"
          },
          {
            "camera_use": "negative space around the stretcher, emphasizing evidence-site emptiness",
            "directionality_class": "non_directional",
            "element": "forest clearing floor",
            "orientation": "",
            "state": "muddy, leaf-strewn, disturbed by footprints"
          },
          {
            "camera_use": "broadcast texture overlay implied by the news context",
            "directionality_class": "content_surface",
            "element": "news image frame",
            "orientation": "the viewed side is the broadcast image itself, slightly flattened and compressed for television footage",
            "state": "stable, low-contrast, documentary-like"
          }
        ],
        "lighting_mood": "Daylight is muted and gray, with damp forest greens drained toward blue and the police tape cutting through as the only harsh yellow accent.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 3,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Following the lateral investigation path, the camera has arrived chest-high directly in front of the detectives, about ten feet from the group, and holds a slightly wide command frame. 혜수 is centered and head-on as she points toward the brush left in frame, while the surrounding 형사들 form a tense semicircle that keeps her directive gesture readable.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "pointing into brush",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_right",
            "body_pose": "leaning over notes",
            "character": "형사들",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "points_to",
              "gesture_target_label": "brush at frame left",
              "label": "Hyesu directing the search",
              "screen_zone": "middle_center",
              "target_id": "C02",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "brush being indicated",
              "screen_zone": "middle_left",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "points_to_anchor"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "directional endpoint of Hyesu’s pointing gesture",
            "directionality_class": "non_directional",
            "element": "brush at one side of the clearing",
            "orientation": "",
            "state": "dense, damp, partially trampled"
          },
          {
            "camera_use": "crime-scene boundary still visible behind the group",
            "directionality_class": "content_surface",
            "element": "yellow police line",
            "orientation": "the printed side faces camera in broken diagonal sections behind the detectives",
            "state": "taut in places, sagging slightly between trees"
          },
          {
            "camera_use": "layer of investigators and equipment around Hyesu, supporting command hierarchy",
            "directionality_class": "directional_3d",
            "element": "forensic work area",
            "orientation": "equipment cases and markers show their front and top faces in staggered depth behind the group",
            "state": "active, muddy, organized under pressure"
          },
          {
            "camera_use": "broadcast flattening and slight distance, preserving the news-footage feeling",
            "directionality_class": "content_surface",
            "element": "news image frame",
            "orientation": "the visible face is the transmitted field-report image, with muted contrast and slight telephoto compression",
            "state": "steady, observational"
          }
        ],
        "lighting_mood": "Flat gray daylight is cooled by forest shade, while the yellow tape and small red evidence markers puncture the damp blue-green palette.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 3,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera begins very high above the gray outer-city residential district, looking straight down in a broad overhead crane view. The rooftop room remains only one small detail inside a dense grid of aging villas, narrow alleys, water tanks, and stained roofs, keeping the neighborhood pressure larger than any single home.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "large-scale oppressive environment surrounding the future focus",
            "directionality_class": "directional_3d",
            "element": "cluster of old low-rise apartment buildings",
            "orientation": "flat roof surfaces and narrow side walls are visible from above, compressed into a dense block",
            "state": "aged, gray, stained by weather"
          },
          {
            "camera_use": "small destination point kept within the wider sprawl",
            "directionality_class": "directional_3d",
            "element": "rooftop room exterior",
            "orientation": "its roof and one outer wall face the overhead camera at a shallow diagonal",
            "state": "small, worn, isolated among other rooftops"
          },
          {
            "camera_use": "maze-like negative space between buildings",
            "directionality_class": "non_directional",
            "element": "narrow alleys below",
            "orientation": "",
            "state": "shadowed, cramped, bluish-gray"
          },
          {
            "camera_use": "humid coastal-city texture on the skyline and roofs",
            "directionality_class": "non_directional",
            "element": "hazy urban air",
            "orientation": "",
            "state": "pale, smoggy, damp"
          }
        ],
        "lighting_mood": "Overcast daylight washes the district in muted blue-gray, with no clean highlights, making the old rooftops feel cold and burdened.",
        "perception_mode": "direct",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 4,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the seated floor-level end position near the TV axis, the camera pushes into a tight facial close-up of 민숙, about eighty centimeters away but visually compressed by the centered stare. Her face occupies most of the frame, gaze locked just past the lens toward the active TV, with only trembling blue screen flicker and the cramped living room edges left as context.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "seated on floor",
            "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": "off-axis light source motivating her fixed stare and blue flicker on the face",
            "directionality_class": "content_surface",
            "element": "active TV screen",
            "orientation": "the image-bearing front face is angled just off camera near the lens axis, mostly out of frame but casting visible flicker",
            "state": "on, low volume, unstable news brightness"
          },
          {
            "camera_use": "soft background proof of the cramped rooftop room",
            "directionality_class": "transparent_surface",
            "element": "small living-room window",
            "orientation": "thin daylight passes through a slightly dirty pane, with no clear exterior detail visible",
            "state": "closed, dusty, glowing weakly"
          },
          {
            "camera_use": "low domestic surface under her seated posture",
            "directionality_class": "non_directional",
            "element": "living room floor",
            "orientation": "",
            "state": "worn, clean in patches, cramped"
          },
          {
            "camera_use": "warm domestic detail faintly blurred behind the close-up",
            "directionality_class": "non_directional",
            "element": "kitchen steam haze",
            "orientation": "",
            "state": "thin, drifting, humid"
          }
        ],
        "lighting_mood": "Cold TV blue flicker fights with sickly warm kitchen spill, carving 민숙’s face into a tense occult-thriller mixture of domestic safety and dread.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "In the narrow entryway, the handheld camera settles at shoulder height about seventy centimeters beside and slightly behind 수리영’s profile, looking inward toward 민숙. 수리영’s closed-eyed face rests near 민숙’s shoulder in the left foreground, while 민숙 is held close on the right, the doorframe squeezing them into a brief intimate pocket before the camera later drops to the wrist.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "leaning into shoulder",
            "character": "수리영",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "softly holding still",
            "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 close to shoulder",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Minsuk receiving the closeness",
              "screen_zone": "middle_right",
              "target_id": "C04",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "tight vertical frame that makes the closeness feel private and compressed",
            "directionality_class": "directional_3d",
            "element": "entryway doorframe",
            "orientation": "the inner side edge faces camera, forming a dark vertical border at frame right",
            "state": "open, worn, slightly chipped"
          },
          {
            "camera_use": "lower-context reminder that Suriyeong is about to leave",
            "directionality_class": "directional_3d",
            "element": "shoe area by the threshold",
            "orientation": "shoe tops and side edges angle away beneath the characters, partly cropped",
            "state": "cluttered, everyday, dim"
          },
          {
            "camera_use": "soft back spill from the room behind them",
            "directionality_class": "transparent_surface",
            "element": "small window light from living room",
            "orientation": "light passes through the unseen pane and wraps faintly around their shoulders",
            "state": "closed, weak daylight filtered by dust"
          },
          {
            "camera_use": "narrow domestic texture surrounding the embrace",
            "directionality_class": "non_directional",
            "element": "entryway wall",
            "orientation": "",
            "state": "stained, close, warm-toned"
          }
        ],
        "lighting_mood": "A fragile warm interior glow wraps their faces, but blue-gray daylight leaks from the room behind, keeping the tenderness uneasy and humid.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "After the downward slide from the doorway intimacy, the camera locks off about twenty centimeters above 민숙’s wrist, angled down into an isolated macro-like close-up. The small circular mark sits sharply in the middle of the skin surface, with the sleeve edge and entryway floor falling away into soft blur so the domestic moment turns ominous.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "wrist lowered by hip",
            "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 wrist isolated",
              "screen_zone": "middle_center",
              "target_id": "C04",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "soft edge framing the marked skin without overpowering it",
            "directionality_class": "directional_3d",
            "element": "sleeve cuff near wrist",
            "orientation": "the cuff’s curved outer edge faces camera at the top side of the close-up",
            "state": "slightly wrinkled, warm-toned, still"
          },
          {
            "camera_use": "blurred plane beneath the wrist that keeps the shot grounded in the entryway",
            "directionality_class": "non_directional",
            "element": "entryway floor below",
            "orientation": "",
            "state": "out of focus, worn, muted brown-gray"
          },
          {
            "camera_use": "faint vertical blur preserving the doorway location",
            "directionality_class": "directional_3d",
            "element": "door threshold edge",
            "orientation": "one side edge runs diagonally in the background blur, barely readable",
            "state": "old, scuffed, static"
          }
        ],
        "lighting_mood": "Warm household light skims the skin, while a cold blue-gray undertone makes the circular mark appear unnaturally crisp and ritualistic.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 12,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only 민숙’s wrist and mark are framed; the full outlook reference is unnecessary and could distract from the isolated body-detail reveal.",
            "subject_id": "C04"
          }
        ]
      },
      {
        "camera_direction": "From the sea-side tracking vehicle, the camera holds a perpendicular side-on full-body view about four meters from 수리영, keeping her bicycle centered in the midground as the bright coastal road and pale water slide horizontally behind her. At the peak of the pedal stroke, one bent knee drives downward while her hair streams backward, with the frame staying clean and athletic rather than pushing toward her face yet.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "pressing down pedal",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "moving background plane that emphasizes speed and openness",
            "directionality_class": "non_directional",
            "element": "bright coastal road",
            "orientation": "",
            "state": "sunlit, dry, open"
          },
          {
            "camera_use": "lateral horizon backdrop behind the rider",
            "directionality_class": "non_directional",
            "element": "sea beyond the road",
            "orientation": "",
            "state": "bright, breezy, lightly hazed"
          },
          {
            "camera_use": "rhythmic foreground/background guide lines for the tracking motion",
            "directionality_class": "directional_3d",
            "element": "roadside guardrail",
            "orientation": "its long side runs parallel to the camera move, receding across the rear of the frame",
            "state": "weathered, sun-bleached"
          }
        ],
        "lighting_mood": "Clear coastal daylight with golden warmth softened by blue sea haze, airy and energetic before the later thriller darkness settles in.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 6,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera stays just inside the kennel bars at 수리영’s eye height, so her narrowed eyes fill the middle of the frame while the iron bars remain only as blurred vertical scratches at the edges. This is a confrontational cage-side observer view rather than a true animal POV: she appears to stare directly through the lens into the enclosure, the rest of her face cropped away to preserve the pressure of the gaze.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "leaning toward bars",
            "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": "수리영's eyes",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "soft foreground obstruction that places the viewer inside the kennel",
            "directionality_class": "directional_3d",
            "element": "kennel bars",
            "orientation": "vertical bars face the camera edge-on, softened into dark foreground traces",
            "state": "closed, worn, slightly damp"
          },
          {
            "camera_use": "compressed dark backing around the eyes",
            "directionality_class": "non_directional",
            "element": "kennel interior darkness",
            "orientation": "",
            "state": "dim, humid, shadowy"
          }
        ],
        "lighting_mood": "Cold shelter daylight falls across her brow while the cage interior stays blue-gray and grimy, sharpening the uncanny calm in her stare.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "After the downward tilt settles, the camera locks low on the kennel floor roughly one and a half meters from 로트와일러, slightly off-center so the full body rests within the bars and concrete floor lines. The dog occupies the lower middle of the frame with its head dropped and all four paws grounded, turning the previous aggression into a still, submissive tableau.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "lying head lowered",
            "character": "로트와일러",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "low enclosing geometry around the animal",
            "directionality_class": "directional_3d",
            "element": "kennel bars",
            "orientation": "front bars cut vertically across the background and side bars recede diagonally behind the dog",
            "state": "closed, scratched, damp"
          },
          {
            "camera_use": "textured ground plane anchoring the dog’s submission",
            "directionality_class": "non_directional",
            "element": "concrete kennel floor",
            "orientation": "",
            "state": "wet-stained, gritty, dull gray"
          },
          {
            "camera_use": "dim negative space behind the lowered body",
            "directionality_class": "non_directional",
            "element": "rear kennel wall",
            "orientation": "",
            "state": "shadowed, stained"
          }
        ],
        "lighting_mood": "Muted daylight is swallowed by blue-gray kennel shadows, with a faint sickly warmth from the shelter corridor barely touching the floor.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Tracking from the curb lane at waist height, the camera runs parallel to 수리영 about two and a half meters from the bicycle, holding a strong side profile as red neon storefronts streak behind her. The frame freezes the most forceful pedal stroke in a medium-wide action composition, her hair trailing opposite her direction of travel while traffic and sidewalk bodies smear into restless background motion.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "driving pedal down",
            "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": "dominant color source and moving streaks behind the rider",
            "directionality_class": "content_surface",
            "element": "red neon storefront signs",
            "orientation": "the lit sign faces angle toward camera, showing red Korean lettering as blurred bands",
            "state": "on, glowing, partially smeared by motion"
          },
          {
            "camera_use": "urban depth and danger around the bicycle path",
            "directionality_class": "directional_3d",
            "element": "taxi traffic",
            "orientation": "vehicle sides slide parallel to camera behind 수리영",
            "state": "moving, headlights on"
          },
          {
            "camera_use": "busy sidewalk texture behind her speed",
            "directionality_class": "non_directional",
            "element": "street stall glow and crowd haze",
            "orientation": "",
            "state": "active, smoky, humid"
          }
        ],
        "lighting_mood": "Golden dusk collapses into wet red neon and blue-gray street shadow, giving her urgency a sharper occult-thriller edge.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Outside the mart, the camera holds slightly above chest height about one meter in front of 수리영 and angles down so her fixed gaze and the lit phone screen share the lower half of the frame. She is compressed against the darkening roadside, shoulders drawn in over the device, while the street behind her falls out of focus and no longer carries the earlier cycling momentum.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "hunched over phone",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "small practical light source illuminating her hands and chin",
            "directionality_class": "content_surface",
            "element": "lit smartphone screen",
            "orientation": "the front screen tilts upward toward camera, showing an unanswered call glow without needing readable text",
            "state": "on, bright, cool white"
          },
          {
            "camera_use": "dark static backdrop replacing the earlier moving street",
            "directionality_class": "non_directional",
            "element": "roadside outside the mart",
            "orientation": "",
            "state": "darkening, damp-looking, busy but defocused"
          },
          {
            "camera_use": "soft red accent bleeding into the edge of the frame",
            "directionality_class": "content_surface",
            "element": "mart exterior signage",
            "orientation": "the sign face is turned obliquely to camera, visible only as red luminous spill",
            "state": "on, partially out of focus"
          }
        ],
        "lighting_mood": "The phone casts a cold anxious light upward into her face while red mart neon and blue dusk shadows press in from behind.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera tracks parallel on the seaward side at chest height, tightened to a medium side-profile action frame so 수리영’s lowered torso and pumping legs cut across the dark ocean background. She leans hard over the handlebar in the left-middle of the frame, clothing snapping backward as the road edge and black water slide past in a tense horizontal rush.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "bent over handlebar",
            "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": "ominous moving backdrop behind her urgent pedaling",
            "directionality_class": "non_directional",
            "element": "night sea",
            "orientation": "",
            "state": "black, wind-ruffled, barely visible"
          },
          {
            "camera_use": "thin line of spatial orientation beneath the bicycle",
            "directionality_class": "directional_3d",
            "element": "coastal road shoulder",
            "orientation": "the road edge runs horizontally through frame, parallel to camera travel",
            "state": "dark, slick-looking"
          },
          {
            "camera_use": "distant punctures of scale and isolation",
            "directionality_class": "non_directional",
            "element": "far harbor lights",
            "orientation": "",
            "state": "small, blurred, cold"
          }
        ],
        "lighting_mood": "Blue-black coastal darkness dominates, broken by sparse sodium and harbor glints that carve her into a tense moving silhouette.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 9,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From a fully top-down overhead position about three and a half meters above the rooftop floor, the camera makes the frame graphic and flat, catching only 한국인 남자’s long heavy shadow stretched between the water tank area and the rooftop room entrance. The body casting it remains outside the composition, so the shadow becomes the visible presence, like a dark ritual mark laid across the concrete.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "casting elongated shadow",
            "character": "한국인 남자",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "main graphic surface receiving the threatening silhouette",
            "directionality_class": "non_directional",
            "element": "dark rooftop floor",
            "orientation": "",
            "state": "rough, dusty, night-damp"
          },
          {
            "camera_use": "spatial marker near the shadow’s origin side",
            "directionality_class": "directional_3d",
            "element": "rooftop water tank",
            "orientation": "one curved side faces the overhead camera as a dark mass near frame edge",
            "state": "still, hulking, unlit"
          },
          {
            "camera_use": "wind-touched texture that adds unease without drawing focus",
            "directionality_class": "non_directional",
            "element": "clothesline and dried seokchangpo leaves",
            "orientation": "",
            "state": "stirring in wind, brittle"
          }
        ],
        "lighting_mood": "A hard off-screen rooftop light throws a dense black shadow over blue-gray concrete, with the air feeling cold, humid, and occultly still.",
        "perception_mode": "direct",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 4,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "Only the man’s shadow is visible from overhead; no body, face, or costume detail should be forced by an outlook reference.",
            "subject_id": "C08"
          }
        ]
      },
      {
        "camera_direction": "At handle height less than a meter from the iron entrance door, the camera centers on the narrow vertical seam as it has opened inward just enough to form a black slit. No hand, paper, or attacker is visible; the door surface fills the frame only as a threshold, with the gap held in the middle like a wound in the room’s boundary.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "thin black door gap",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "primary threshold detail and source of suspense",
            "directionality_class": "directional_3d",
            "element": "iron entrance door",
            "orientation": "the exterior face of the door faces camera, with the hinged plane cracked inward to reveal a vertical black seam",
            "state": "barely open, scratched, cold"
          },
          {
            "camera_use": "thin negative space implying entry",
            "directionality_class": "non_directional",
            "element": "black interior slit",
            "orientation": "",
            "state": "unlit, narrow, motionless"
          },
          {
            "camera_use": "rough surrounding texture framing the metal",
            "directionality_class": "non_directional",
            "element": "rooftop doorway wall",
            "orientation": "",
            "state": "stained, dim"
          }
        ],
        "lighting_mood": "Sickly warm spill grazes the metal edge while the interior gap remains pure black against the rooftop’s blue night shadows.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Outside the rooftop room window at standing eye level, the camera faces the glass squarely from about one and a half meters away, flattening it into a single silhouette plane. On the pane, 낯선 남자’s oversized reflected shadow presses down from the upper-middle area over 민숙’s collapsed shadow near the lower portion, with no faces or direct bodies visible—only the violent scale difference trapped on glass.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "bent over victim",
            "character": "낯선 남자",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C04",
            "subject_state": "alive"
          },
          {
            "angle": "looking_away",
            "body_pose": "collapsed on floor",
            "character": "민숙",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C06",
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "낯선 남자 shadow",
              "screen_zone": "middle_center",
              "target_id": "C06",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "민숙 collapsed shadow",
              "screen_zone": "lower_center",
              "target_id": "C04",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "flat reflective/silhouette plane carrying the entire violent image",
            "directionality_class": "reflective_surface",
            "element": "rooftop room window glass",
            "orientation": "the glass reflects and catches the interior shadows of the attacker looming over 민숙, with no clear view through to faces",
            "state": "dark, slightly dirty, faintly reflective"
          },
          {
            "camera_use": "backlight that converts the action into shadows",
            "directionality_class": "directional_3d",
            "element": "interior living-room light source",
            "orientation": "hidden behind the figures, aimed toward the window enough to project their shapes",
            "state": "dim, sickly warm"
          },
          {
            "camera_use": "outer frame holding the image like a trapped panel",
            "directionality_class": "directional_3d",
            "element": "window frame",
            "orientation": "its front face squares to camera, enclosing the silhouette plane",
            "state": "closed, old, grimy"
          }
        ],
        "lighting_mood": "A diseased warm interior glow projects violent black silhouettes onto dirty glass while the exterior rooftop remains drowned in blue-gray night.",
        "perception_mode": "reflection",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 9,
        "subject_reference_policy": [
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "The shot shows only a distorted shadow silhouette on window glass; identity should be conveyed by blocking and scale, not by facial or wardrobe outlook detail.",
            "subject_id": "C06"
          },
          {
            "policy": "generic_descriptor_allowed",
            "policy_type": "identity_reference",
            "reason": "민숙 appears only as a collapsed shadow shape, so forcing a specific outlook reference would create visible body detail the shot should avoid.",
            "subject_id": "C04"
          }
        ]
      },
      {
        "camera_direction": "At the roof landing, the camera is less than a foot from 수리영’s face at eye level and slightly front-left, compressing her against the night background. Her hand clamps over her nose and mouth, brow pinched hard, with only a sliver of rooftop darkness behind her so the smell feels like it has physically stopped her in place.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "hand clamped over mouth",
            "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": "thin dark negative space behind her reaction",
            "directionality_class": "non_directional",
            "element": "roof landing darkness",
            "orientation": "",
            "state": "unlit, humid, cramped"
          },
          {
            "camera_use": "faint environmental clue at the edge of the close-up",
            "directionality_class": "directional_3d",
            "element": "stairwell wall edge",
            "orientation": "one rough vertical edge sits blurred behind her shoulder",
            "state": "stained, cold"
          },
          {
            "camera_use": "distant threat implied beyond her eyeline",
            "directionality_class": "directional_3d",
            "element": "half-open rooftop entrance area",
            "orientation": "only suggested as dark geometry outside focus, ahead of her off-screen line",
            "state": "partly open, shadowed"
          }
        ],
        "lighting_mood": "A cold blue rooftop wash cuts across her face while a weak sickly interior warmth contaminates the shadows, making the foul smell feel visible.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the rooftop floor behind 수리영, the camera holds completely still at chest height about 8 feet back, a neutral observer inheriting the reveal-stage axis toward the half-open iron entrance door. 수리영 occupies the lower-left center as a dark backlit silhouette, while the door sits dead center in the midground as a narrow black void; the frame is wide enough to show the damp rooftop floor and the empty space between her and the threshold.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "paused before doorway",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Central vanishing point and threat source beyond 수리영's gaze.",
            "directionality_class": "directional_3d",
            "element": "half-open iron entrance door",
            "orientation": "Its dark inner edge faces camera at a slight angle, revealing only a black interior gap rather than the room beyond.",
            "state": "half-open, rust-stained, interior unlit"
          },
          {
            "camera_use": "Ground texture stretching between 수리영 and the door, emphasizing exposed rooftop isolation.",
            "directionality_class": "non_directional",
            "element": "wet rooftop concrete floor",
            "orientation": "",
            "state": "damp, gritty, faintly reflective in patches"
          },
          {
            "camera_use": "Background boundary enclosing the composition and trapping the silhouette against the doorway.",
            "directionality_class": "directional_3d",
            "element": "rooftop parapet wall",
            "orientation": "The inside face of the low wall runs horizontally behind her, cutting off the night skyline.",
            "state": "stained, weathered, fog-softened"
          }
        ],
        "lighting_mood": "Cold blue-gray night fog washes the rooftop, with a faint sickly amber spill from somewhere behind camera and the doorway remaining unnaturally black.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Locked near the foot of the bed at eye level, the camera faces 민숙's seated body straight on, as if the room itself has stopped breathing. The opened curtain hangs on both sides like a crude ritual frame, with 민숙 centered in the midground, head dropped toward the floor and the bed edge low in the foreground for scale.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "slumped behind curtain",
            "character": "민숙",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "dead"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Foreground lower edge that anchors the camera near the bed and makes the reveal feel discovered from within the room.",
            "directionality_class": "directional_3d",
            "element": "foot of the bed",
            "orientation": "The footboard and mattress edge face camera horizontally, cropped low across the frame.",
            "state": "still, dim, slightly rumpled"
          },
          {
            "camera_use": "A parted frame around the corpse, creating a stage-like reveal.",
            "directionality_class": "transparent_surface",
            "element": "curtained window area",
            "orientation": "Thin curtain panels are pulled open toward both sides; their semi-translucent fabric shows only murky darkness and window shape beyond.",
            "state": "opened, limp, stained by shadow"
          },
          {
            "camera_use": "Background plane behind the body, making the dropped head and seated posture readable.",
            "directionality_class": "directional_3d",
            "element": "wall behind curtain",
            "orientation": "The wall's front face is square to camera behind 민숙, flattened by the frontal composition.",
            "state": "dim, dirty, partially obscured by fabric"
          },
          {
            "camera_use": "Low floor detail leading the eye into the body without moving the camera.",
            "directionality_class": "non_directional",
            "element": "blood-marked floor area",
            "orientation": "",
            "state": "dark, wet-looking patches visible near the seated body"
          }
        ],
        "lighting_mood": "A weak warm interior lamp and cold TV spill mix into a sickly green-gray gloom, with the corpse held in a dead, underlit stillness.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 9,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At face height just inside the room near the curtain, the handheld camera tightens into an extreme close-up of 수리영, a neutral observer pressing too close to her stalled breath. Her eyes and open mouth take nearly the whole frame, while the blood-dark room collapses into shallow-focus smears at the edges.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "breath caught rigid",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C04",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영's shocked face",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Blurred edge texture behind her face, retaining the physical location without competing with the reaction.",
            "directionality_class": "transparent_surface",
            "element": "curtain edge",
            "orientation": "A soft, pale fabric edge crosses the background out of focus, no clear view beyond it.",
            "state": "parted, motionless"
          },
          {
            "camera_use": "Color contamination in the bokeh behind her, reminding us of the room's violence without showing detail.",
            "directionality_class": "directional_3d",
            "element": "blood-smudged wall area",
            "orientation": "Only the front plane of the wall is visible as a smeared, unfocused background surface.",
            "state": "dim, stained, indistinct"
          },
          {
            "camera_use": "Ambient source that adds unstable flicker to her pupils and skin.",
            "directionality_class": "content_surface",
            "element": "television light from living room",
            "orientation": "The screen face itself is off-frame, but its content-bearing light flickers indirectly across her face from the side.",
            "state": "on, flickering"
          }
        ],
        "lighting_mood": "Her face is carved by cold blue TV flicker from one side and a faint jaundiced lamp from below, making the skin look drained and humid.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 11,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Low beside 민숙's body at hand level, the camera continues the stage's dolly-in until the dead, clenched fingers and the crumpled old photograph become an intimate evidence insert. The hand sits slightly off-center in the lower middle of frame, with a sliver of sleeve and dark floor left visible for scale so the photograph does not become unnaturally oversized.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "rigid clenched hand",
            "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 object trapped in the corpse's grip, revealing a clue without yet reading it fully.",
            "directionality_class": "content_surface",
            "element": "crumpled old photograph",
            "orientation": "The printed face of the photograph is partly visible toward camera, creased and obscured by fingers so its image content is fragmented.",
            "state": "crumpled, aged, stained"
          },
          {
            "camera_use": "Human frame around the photograph, making the clue feel forcibly held rather than placed.",
            "directionality_class": "directional_3d",
            "element": "민숙's stiff hand and wrist area",
            "orientation": "The knuckles face camera at a low diagonal, fingers curled inward around the photograph.",
            "state": "rigid, pale, unmoving"
          },
          {
            "camera_use": "Dark negative space around the hand, keeping the evidence isolated while preserving room context.",
            "directionality_class": "non_directional",
            "element": "shadowed floor beside body",
            "orientation": "",
            "state": "dirty, low-lit, damp-looking"
          }
        ],
        "lighting_mood": "A narrow, sickly warm edge-light catches the creases of the photograph while the surrounding hand falls into blue-gray corpse shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 15,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only 민숙's hand and wrist area are framed; full outlook reference would over-specify an unseen face and body.",
            "subject_id": "C04"
          }
        ]
      },
      {
        "camera_direction": "The camera is directly in front of the lower landing at chest height, about 5 feet from 수리영, holding static as a neutral observer after her frantic descent has stopped. She is centered from head to mid-torso, framed squarely against the stairwell behind her, with the empty night air above her shoulders making her blank stare feel suspended.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "locked at landing",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Background vertical pressure behind 수리영, showing the path she just escaped from.",
            "directionality_class": "directional_3d",
            "element": "rooftop stairwell",
            "orientation": "The stair treads recede upward behind her, their front edges stacked toward camera.",
            "state": "dark, concrete, damp"
          },
          {
            "camera_use": "Color pulse that announces police arrival without cutting away from her frozen state.",
            "directionality_class": "non_directional",
            "element": "off-screen police siren wash",
            "orientation": "",
            "state": "flashing red-blue across walls and skin"
          },
          {
            "camera_use": "Grounding plane beneath her, amplifying her immobility after running.",
            "directionality_class": "non_directional",
            "element": "lower landing concrete",
            "orientation": "",
            "state": "wet, dirty, night-lit"
          }
        ],
        "lighting_mood": "Rotating police red and blue scrape over cold gray concrete, briefly warming her pale face before plunging it back into coastal night shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From beside the two women at the lower landing, shoulder height and about 4 feet away, the camera holds perpendicular to their eyeline so their profiles cut across the frame. 혜수 is slightly closer on the right foreground, leaning in with her mouth open mid-question, while 수리영 remains a rigid receiving point on the left midground.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "leaning into question",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "frozen against landing",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "수리영",
              "label": "혜수 leaning in",
              "screen_zone": "middle_right",
              "target_id": "C02",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영 receiving the question",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Shared anchor for both women, keeping them in the same urgent physical space.",
            "directionality_class": "directional_3d",
            "element": "lower landing wall",
            "orientation": "The side face of the wall runs behind both profiles, parallel to their eyeline.",
            "state": "concrete, damp, police-lit"
          },
          {
            "camera_use": "Background evidence of official arrival, slightly out of focus behind 혜수's movement.",
            "directionality_class": "directional_3d",
            "element": "police car side area",
            "orientation": "Only angled side surfaces and light reflections are glimpsed beyond the landing.",
            "state": "partly visible, lights flashing"
          },
          {
            "camera_use": "Moving color accent that heightens urgency across the profile composition.",
            "directionality_class": "non_directional",
            "element": "siren light spill",
            "orientation": "",
            "state": "active, red-blue pulsing"
          }
        ],
        "lighting_mood": "Hard red-blue siren pulses rake across their side profiles, fighting with the damp blue night and adding a sharp red occult undertone.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside 수리영's room near the foot of the bed, the camera holds waist-high on a slight diagonal toward the curtain wall, preserving the absence-reveal stage without drifting. The opened curtains sit in the center background around a bare, impossible wall, with the clean bed edge and empty floor occupying the lower frame to prove the body has vanished.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary absence marker, held long enough to feel unnaturally still.",
            "directionality_class": "transparent_surface",
            "element": "opened curtains",
            "orientation": "The parted fabric reveals the bare wall and window area behind it; the panels hang to either side with no body between them.",
            "state": "opened, clean, motionless"
          },
          {
            "camera_use": "Negative evidence where the corpse should have been.",
            "directionality_class": "directional_3d",
            "element": "bare wall behind curtain",
            "orientation": "The wall's front face is exposed to camera at a slight diagonal, clean and uninterrupted.",
            "state": "empty, spotless, no red mark"
          },
          {
            "camera_use": "Clean foreground reference contradicting the earlier blood-soaked room.",
            "directionality_class": "directional_3d",
            "element": "bed foot and bedding",
            "orientation": "The bed's foot side faces camera from the lower left, neatly aligned into the diagonal room view.",
            "state": "neatly made, clean"
          },
          {
            "camera_use": "Floor plane that emphasizes no blood trail remains.",
            "directionality_class": "non_directional",
            "element": "clean room floor",
            "orientation": "",
            "state": "dry, polished, free of stains"
          }
        ],
        "lighting_mood": "The room is washed in a muted blue-gray night tone with a weak warm household spill, too clean and still to feel safe.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From 수리영's front-left at face height, the camera slowly dollies in until her pale face becomes the only clear evidence of the missing body. She sits slightly right of center in a tight close-up, eyes locked past camera toward the empty space, while the room behind her is reduced to soft, clean shapes that refuse to confirm her memory.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "neck craned forward",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Blurred background contradiction, implying the empty room without showing it again.",
            "directionality_class": "directional_3d",
            "element": "clean bedroom wall",
            "orientation": "Only a soft front plane is visible behind her shoulder, with no marks readable.",
            "state": "spotless, out of focus"
          },
          {
            "camera_use": "Faint vertical blur that carries the memory of the reveal into her eyeline.",
            "directionality_class": "transparent_surface",
            "element": "curtain edge in background",
            "orientation": "The pale fabric edge is barely visible behind her, no body or stain seen through it.",
            "state": "opened, still, defocused"
          },
          {
            "camera_use": "Small misplaced room details hinted at the edge, unsettling the otherwise clean space.",
            "directionality_class": "directional_3d",
            "element": "backpack and doll area",
            "orientation": "Only partial side shapes are visible at the far blurred edge, not centered.",
            "state": "slightly shifted, indistinct"
          }
        ],
        "lighting_mood": "A cold, flat blue-gray wash drains her face while a faint yellow interior residue leaves the clean room feeling contaminated by doubt.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Beside 혜수 and 수리영 in the living area, the camera lowers from shoulder height and dollies into a close view angled down at the contact point. 혜수's palm wraps over 수리영's bowed shoulder in the center of frame; their faces are mostly cropped away, leaving fabric tension, fingers, and the slight collapse of 수리영's posture to carry the scene.",
        "character_angles": [
          {
            "angle": "over_shoulder",
            "body_pose": "hand gripping shoulder",
            "character": "혜수",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "bowed under shock",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft background plane that keeps the comfort gesture intimate and separate from the earlier investigation.",
            "directionality_class": "directional_3d",
            "element": "living room wall",
            "orientation": "A flat wall plane sits behind the cropped shoulders, with no dominant detail.",
            "state": "dim, warm-stained"
          },
          {
            "camera_use": "Low ambient source softening the hand and shoulder from below.",
            "directionality_class": "directional_3d",
            "element": "living room table edge",
            "orientation": "Only the table's side edge is faintly visible low in the background, angled away from camera.",
            "state": "clean, partially cropped"
          },
          {
            "camera_use": "Residual domestic light source contrasting with the violent memory of the previous room.",
            "directionality_class": "content_surface",
            "element": "television glow",
            "orientation": "The screen face is off-frame, but its content-bearing flicker spills blue light across the shoulder and hand.",
            "state": "on, flickering indirectly"
          }
        ],
        "lighting_mood": "Muted warm interior light softens 혜수's hand while cold TV blue stains 수리영's lowered shoulder, creating comfort that still feels haunted.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 10,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "혜수 is represented primarily by her hand and forearm, so full face/outlook reference is not necessary for this contact detail.",
            "subject_id": "C02"
          },
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "수리영 is visible mainly as a bowed shoulder and partial head crop; base identity is enough without enforcing a full outlook match.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "At 수리영's eye level beside the bench, the camera pushes in to isolate 혜수's extended hand and canned drink entering the foreground toward 수리영. The can sits just left of center and takes less than a third of the frame, 혜수's fingers around it from the right, while 수리영's blurred cheek and hunched shoulder remain in the background as the receiving presence.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "arm extended offering",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "hunched on bench",
            "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": "수리영's eye level",
              "label": "혜수 offering canned drink",
              "screen_zone": "middle_center",
              "target_id": "C02",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영 seated on bench",
              "screen_zone": "middle_right",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary offered object, positioned as a fragile bridge between the women.",
            "directionality_class": "directional_3d",
            "element": "canned drink",
            "orientation": "The can's curved side faces camera at a slight angle; the pull-tab top is partially visible, label detail not emphasized.",
            "state": "unopened, cold, lightly wet with condensation"
          },
          {
            "camera_use": "Anchor for 수리영's slumped seated position behind the offered drink.",
            "directionality_class": "directional_3d",
            "element": "bus stop bench",
            "orientation": "The bench back runs horizontally behind the hand, seen from a shallow side angle.",
            "state": "metal or painted surface, damp with sea air"
          },
          {
            "camera_use": "Distant atmosphere beyond the bench, adding coastal isolation to the close gesture.",
            "directionality_class": "non_directional",
            "element": "night sea fog",
            "orientation": "",
            "state": "thick, blue-gray, humid"
          },
          {
            "camera_use": "Practical background light that silhouettes the hand and can edge.",
            "directionality_class": "directional_3d",
            "element": "bus stop shelter frame",
            "orientation": "A vertical side post and roof edge angle away from camera behind the figures.",
            "state": "dimly lit, wet, mostly out of focus"
          }
        ],
        "lighting_mood": "Cold sea-blue fog wraps the bench while a weak bus-stop lamp gives the can and hand a sickly warm rim, with faint red traffic reflections bleeding at the edges.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 2,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "혜수 is mostly identified by the extended hand holding the drink; full outlook reference is unnecessary for the cropped body-part framing.",
            "subject_id": "C02"
          },
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "수리영 appears only as a blurred partial receiving presence in the background, so base identity is sufficient.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "From the bus stop at chest height, the camera holds in a static medium frame after the pan back, keeping 혜수 fixed on the left third while the empty coastal road stretches away behind her into fog. Her cupped hands and open mouth point toward the off-screen direction where 수리영 has run, making the absence feel watched rather than resolved.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "hands cupped shouting",
            "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": "Creates a cold transparent layer around 혜수 and catches faint bus-stop reflections at frame edge.",
            "directionality_class": "transparent_surface",
            "element": "bus stop glass shelter",
            "orientation": "Slightly dirty glass side faces the camera, with the dark road and sea haze faintly visible through it.",
            "state": "damp, unlit, streaked with condensation"
          },
          {
            "camera_use": "Holds the implied path of 수리영’s retreat in the background space.",
            "directionality_class": "directional_3d",
            "element": "coastal road",
            "orientation": "The road recedes diagonally from mid-frame toward the right background, its far end swallowed by fog.",
            "state": "empty, wet-looking, dim"
          },
          {
            "camera_use": "Supplies ominous negative space behind the call.",
            "directionality_class": "non_directional",
            "element": "night sea fog",
            "orientation": "",
            "state": "thick, blue-gray, windless"
          },
          {
            "camera_use": "Marks the abandoned waiting area and reinforces 혜수 being left behind.",
            "directionality_class": "directional_3d",
            "element": "bus stop bench",
            "orientation": "The bench is seen at a shallow side angle behind 혜수, parallel to the road.",
            "state": "empty, damp"
          }
        ],
        "lighting_mood": "Cold blue-gray sea haze is cut by a weak sodium bus-stop glow, leaving 혜수’s face sickly warm against the ominous dark road.",
        "perception_mode": "direct",
        "perspective": "voyeur",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At desk height, the camera rides tight over 혜수’s forearm, less than half a meter from the smartphone as it is shoved into 김형사’s personal space; the lit screen sits large in the foreground without exceeding the frame, while 김형사’s face compresses immediately behind it. The angle is slightly low and claustrophobic, with shallow focus racking between the glowing phone and his wary eyes.",
        "character_angles": [
          {
            "angle": "over_shoulder",
            "body_pose": "arm thrust forward",
            "character": "혜수",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "leaning back in chair",
            "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 foreground evidence object; its bright surface motivates the push-in.",
            "directionality_class": "content_surface",
            "element": "smartphone screen",
            "orientation": "The screen face is angled toward both camera and 김형사, showing a saved contact/number interface in harsh glow.",
            "state": "on, held very close to 김형사’s face"
          },
          {
            "camera_use": "Compresses the office space and gives the shot a bureaucratic, trapped feeling.",
            "directionality_class": "directional_3d",
            "element": "police desk edge",
            "orientation": "The desk edge cuts horizontally across the lower frame, seen from the near side toward 김형사.",
            "state": "cluttered, worn, dimly lit"
          },
          {
            "camera_use": "Adds institutional texture behind 김형사’s head.",
            "directionality_class": "content_surface",
            "element": "office notice board",
            "orientation": "The paper-covered face of the board is visible but blurred behind 김형사.",
            "state": "messy, yellowed, out of focus"
          },
          {
            "camera_use": "Provides sickly overhead motivation and slight glare on the phone glass.",
            "directionality_class": "non_directional",
            "element": "fluorescent office light",
            "orientation": "",
            "state": "on, greenish, tired"
          }
        ],
        "lighting_mood": "Greenish fluorescent office light mixes with the cold phone glow, turning the evidence push into a harsh, invasive flash of urgency.",
        "perception_mode": "direct",
        "perspective": "over_shoulder",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 3,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "혜수 is represented mainly by a forearm and hand pushing the phone into frame, so a full outlook reference is unnecessary and may mislead the image composition.",
            "subject_id": "C02"
          }
        ]
      },
      {
        "camera_direction": "After the cut across the desk axis, the camera locks directly in front of 혜수 at eye level in a head-and-face close-up, leaving only a thin office floor line below her dropped eyeline. The frame is nearly symmetrical but emotionally off-balance, with her furrowed brow centered and the desk edge barely intruding at the bottom.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "chin lowered tense",
            "character": "혜수",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Shows the direction of 혜수’s lowered stare and grounds her dread in the office space.",
            "directionality_class": "non_directional",
            "element": "office floor line",
            "orientation": "",
            "state": "dull, scuffed, faintly visible below her gaze"
          },
          {
            "camera_use": "A blurred lower-frame barrier separating her from 김형사 across the room.",
            "directionality_class": "directional_3d",
            "element": "desk edge",
            "orientation": "The near edge of the desk faces camera as a thin dark strip at the bottom of frame.",
            "state": "out of focus, cluttered beyond frame"
          },
          {
            "camera_use": "Soft institutional background texture behind her head.",
            "directionality_class": "directional_3d",
            "element": "police office partition",
            "orientation": "The flat partition surface faces the camera behind 혜수, slightly angled away on one side.",
            "state": "muted, gray-beige, unfriendly"
          },
          {
            "camera_use": "Keeps the close-up pallid and oppressive.",
            "directionality_class": "non_directional",
            "element": "overhead fluorescent spill",
            "orientation": "",
            "state": "on, weak, green-blue"
          }
        ],
        "lighting_mood": "Flat fluorescent light drains warmth from 혜수’s face, with faint blue-gray shadows collecting under her eyes and brow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From an exterior rooftop vantage at dawn, the camera stays locked at eye level across the narrow rooftop gap, holding the lit rooftop-room window in the upper middle of a quiet wide composition. The warm rectangle of the window is surrounded by cold concrete parapets and blue fog, with no movement yet toward the wall.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary focus and emotional lure inside the cold exterior frame.",
            "directionality_class": "transparent_surface",
            "element": "lit rooftop room window",
            "orientation": "The windowpane faces the camera across the rooftop space, glowing warm from the room beyond while its glass slightly clouds the interior view.",
            "state": "closed, lit from inside, faintly grimy"
          },
          {
            "camera_use": "Defines the isolated rooftop geography and traps the window in hard concrete lines.",
            "directionality_class": "directional_3d",
            "element": "rooftop parapet",
            "orientation": "The parapet top runs horizontally across the lower frame, its outer face turned toward camera.",
            "state": "weathered, damp, pale gray"
          },
          {
            "camera_use": "Foreshadows the later pan toward the cat’s sound but remains still in this shot.",
            "directionality_class": "directional_3d",
            "element": "adjacent concrete wall",
            "orientation": "The wall stands off to one side of the window, its broad face catching cold dawn light.",
            "state": "rough, stained, motionless"
          },
          {
            "camera_use": "Blankets the rooftop in humid coastal unease.",
            "directionality_class": "non_directional",
            "element": "bluish dawn haze",
            "orientation": "",
            "state": "thin, cold, suspended"
          }
        ],
        "lighting_mood": "A lonely warm interior glow fights against blue dawn fog and damp concrete, creating a hushed occult-thriller calm before disturbance.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 17,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the bathroom at mirror height, the camera holds almost square to the sink mirror, tight enough that only the mirror surface and the reflected pale tiles occupy the frame. The red circular mark sits graphically on the reflected tile field, while the lens stays just off-center so the camera itself never appears in the reflection.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary visual field; the omen is seen only through this reflected surface.",
            "directionality_class": "reflective_surface",
            "element": "bathroom mirror",
            "orientation": "The mirror reflects pale bathroom wall tiles and the sudden red circular mark, with a faint humid sheen softening the reflected edges.",
            "state": "still, slightly fogged, clean enough to show the omen"
          },
          {
            "camera_use": "Reflected background plane that makes the red shape feel impossibly placed.",
            "directionality_class": "non_directional",
            "element": "pale bathroom tiles",
            "orientation": "",
            "state": "cold, glossy, sterile"
          },
          {
            "camera_use": "Graphic occult focal point in the reflected space.",
            "directionality_class": "content_surface",
            "element": "red circular mark",
            "orientation": "The camera sees the marked face as reflected in the mirror, a thick red circle staining the apparent tile surface.",
            "state": "fresh-looking, saturated, unnatural"
          },
          {
            "camera_use": "Anchors the mirror as physically above the sink without stealing focus.",
            "directionality_class": "directional_3d",
            "element": "sink rim",
            "orientation": "Only a thin lower edge of the sink faces camera beneath the mirror line.",
            "state": "wet, white, barely visible"
          }
        ],
        "lighting_mood": "Sickly bathroom light turns the tiles corpse-pale while the reflected red circle burns with ritualistic intensity.",
        "perception_mode": "mirror",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At tabletop height in the living-dining area, the tracking move settles into an extreme close view of the framed photo surface, so 민숙’s smiling face in the photograph fills most of the frame as if the emulsion itself is sliding downward. The camera is nearly parallel to the glass, catching a thin warped reflection along the edge without losing the mud-like facial distortion.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "photo smile 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 surface where the facial image deforms.",
            "directionality_class": "content_surface",
            "element": "framed family photo",
            "orientation": "The printed front face of the photograph is turned toward the camera, showing 민숙’s portrait as it appears to melt downward.",
            "state": "upright on table, image unnaturally distorted"
          },
          {
            "camera_use": "Adds a thin wet shine over the impossible distortion.",
            "directionality_class": "reflective_surface",
            "element": "photo glass",
            "orientation": "The glass reflects a smeared strip of dining-room light across the distorted face.",
            "state": "intact, slightly dusty, glinting"
          },
          {
            "camera_use": "Keeps the tabletop location present at the edges of the close view.",
            "directionality_class": "directional_3d",
            "element": "photo frame edge",
            "orientation": "The frame’s front lip faces camera as a dark narrow border around the image.",
            "state": "still, dark, ordinary"
          },
          {
            "camera_use": "Supplies muted domestic warmth that contrasts with the grotesque image.",
            "directionality_class": "directional_3d",
            "element": "dining table surface",
            "orientation": "The tabletop plane recedes away from the lower edge of frame beneath the photo.",
            "state": "clean, warm-toned, shallow focus"
          }
        ],
        "lighting_mood": "Muted daylight from the apartment mixes with a sickly warm dining-table reflection, making the melting face feel humid, flesh-like, and unreal.",
        "perception_mode": "hallucination",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 14,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "민숙 appears as a warped photographic image rather than a physically present person; base identity is needed, but a normal outlook reference may conflict with the hallucinated melting face.",
            "subject_id": "C04"
          }
        ]
      },
      {
        "camera_direction": "Beside the dining table at chest-to-face height, the handheld camera is very close to 수리영 and angled across her cheek so her striking palm and compressed skin share the same tight plane. The frame snaps slightly at the exact mid-impact moment, keeping the blurred photo frame low in the background as the panic turns into self-correction.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "slapping own cheek",
            "character": "수리영",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Gives spatial continuity from the hallucinated photo to the bodily impact.",
            "directionality_class": "directional_3d",
            "element": "dining table edge",
            "orientation": "The table edge angles away behind 수리영’s shoulder, seen from the side.",
            "state": "steady, slightly blurred"
          },
          {
            "camera_use": "Residual background reminder of what triggered her panic.",
            "directionality_class": "content_surface",
            "element": "framed family photo",
            "orientation": "The photo’s front face is visible only as a small blurred rectangle low in the background.",
            "state": "apparently normal again, out of focus"
          },
          {
            "camera_use": "Domestic background flattened by the close handheld compression.",
            "directionality_class": "directional_3d",
            "element": "living-room wall",
            "orientation": "The wall plane faces the camera obliquely behind her head.",
            "state": "muted, still, shadowed"
          },
          {
            "camera_use": "Adds humid realism to the impact with small skin highlights.",
            "directionality_class": "non_directional",
            "element": "apartment daylight spill",
            "orientation": "",
            "state": "soft, gray, weak"
          }
        ],
        "lighting_mood": "Cool apartment daylight is contaminated by faint warm interior spill, catching the red pressure mark on her cheek as the handheld frame jolts.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 18,
        "shot_index": 17,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "In the supermarket parking lot, the camera holds low eye level about six meters in front of 수리영, angled three-quarters toward the entrance while she pauses on the bicycle in the middle-left of a wide, empty frame. One foot touches the ground beneath her, the bicycle kept to natural scale against foggy parking lines and the closed-looking morning storefront.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "perched with foot grounded",
            "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": "Places 수리영 in a paused, vulnerable position before she enters the store.",
            "directionality_class": "directional_3d",
            "element": "bicycle",
            "orientation": "The bicycle is seen from a front three-quarter angle, handlebars turned slightly toward the supermarket entrance.",
            "state": "stopped, balanced by her foot"
          },
          {
            "camera_use": "Destination in the background and source of the next tracking move.",
            "directionality_class": "transparent_surface",
            "element": "supermarket glass entrance",
            "orientation": "The glass doors face the camera at a slight angle, with the dim interior faintly visible through reflections and morning haze.",
            "state": "closed or barely open, reflective, quiet"
          },
          {
            "camera_use": "Expands the lonely early-morning emptiness.",
            "directionality_class": "non_directional",
            "element": "parking lot fog",
            "orientation": "",
            "state": "bluish, low, thin across the asphalt"
          },
          {
            "camera_use": "Graphic ground lines that emphasize stillness before movement.",
            "directionality_class": "content_surface",
            "element": "parking space markings",
            "orientation": "White painted lines lie flat on the asphalt facing upward toward the camera’s view.",
            "state": "faded, damp, empty"
          }
        ],
        "lighting_mood": "Blue early-morning fog desaturates the lot, with only a weak gray storefront glow and no comforting warmth.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From directly behind 수리영 and 남자 직원 near the supermarket wall, the camera tilts upward over their shoulders toward the high exterior CCTV rather than their faces. Their backs occupy the lower frame while the overcast sky and building corner pull the eye to the upper right, making the camera’s gaze align with their suspicion.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "neck craned upward",
            "character": "수리영",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "hands on hips craning",
            "character": "남자 직원",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "high exterior CCTV",
              "label": "수리영",
              "screen_zone": "lower_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "high exterior CCTV",
              "label": "남자 직원",
              "screen_zone": "lower_right",
              "target_id": "C07",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "high exterior CCTV",
              "screen_zone": "upper_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Investigation focal point revealed by the upward tilt.",
            "directionality_class": "directional_3d",
            "element": "exterior CCTV camera",
            "orientation": "The camera housing is mounted high on the building corner, its lens side angled down toward the parking area.",
            "state": "fixed, dark, possibly active"
          },
          {
            "camera_use": "Provides the vertical surface that makes the CCTV placement readable.",
            "directionality_class": "directional_3d",
            "element": "supermarket exterior wall",
            "orientation": "The wall face rises from behind the two figures toward the upper-right corner where the CCTV is mounted.",
            "state": "pale, weather-stained, damp"
          },
          {
            "camera_use": "Creates a bleak background behind the security camera.",
            "directionality_class": "non_directional",
            "element": "overcast morning sky",
            "orientation": "",
            "state": "flat gray, heavy"
          },
          {
            "camera_use": "Adds store identity without becoming the focus.",
            "directionality_class": "content_surface",
            "element": "supermarket sign edge",
            "orientation": "Only the sign’s front face is partially visible along the wall, cropped and unreadable at the frame edge.",
            "state": "faded, unlit"
          }
        ],
        "lighting_mood": "Flat gray morning light removes shadows from their backs, while the CCTV corner sits colder and harder against the clouded sky.",
        "perception_mode": "direct",
        "perspective": "over_shoulder",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Still outside near the same wall, the camera is now tight at eye level about an arm’s length from 수리영 on the phone side, compressing the supermarket exterior into a soft, gray background. Her smartphone is pressed hard to her ear, her mouth caught open mid-sentence, and her face occupies the center-right without letting any other figure intrude.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "phone pressed to ear",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영 isolated phone call",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Keeps continuity with the CCTV search while isolating the call.",
            "directionality_class": "directional_3d",
            "element": "supermarket exterior wall",
            "orientation": "The wall runs behind her at a shallow angle, its surface receding toward the blurred background.",
            "state": "pale, damp, out of focus"
          },
          {
            "camera_use": "Phone prop clarifies the action without becoming oversized.",
            "directionality_class": "directional_3d",
            "element": "smartphone at ear",
            "orientation": "The phone’s side/back edge faces camera as it is pressed against her ear; the screen content is not visible.",
            "state": "on call, held tightly"
          },
          {
            "camera_use": "Background reminder of the clue she is reporting.",
            "directionality_class": "directional_3d",
            "element": "distant CCTV corner",
            "orientation": "The CCTV area sits blurred high behind her shoulder, its lens direction no longer readable.",
            "state": "out of focus, fixed"
          },
          {
            "camera_use": "Softens the parking lot and heightens isolation.",
            "directionality_class": "non_directional",
            "element": "morning parking-lot haze",
            "orientation": "",
            "state": "cool, thin, desaturated"
          }
        ],
        "lighting_mood": "Cold overcast daylight flattens the wall behind her while a faint sickly warmth catches her cheek and the phone edge, intensifying the urgent call.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 19,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera is less than a foot from the monitor at desk height, square to the glass, cropped inside the bezel so the black-and-white CCTV image becomes the whole visual field without showing any people. The unreadable shadowed corner sits heavy in the upper-right portion while soft scan-line noise and crushed blacks make the device image feel contaminated rather than merely underexposed.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary focal surface; the shot is cropped into the playback image itself.",
            "directionality_class": "content_surface",
            "element": "CCTV monitor display",
            "orientation": "The front display face is square to camera, showing a black-and-white security feed with the bezel mostly excluded.",
            "state": "on, grainy, low-contrast, partially obscured"
          },
          {
            "camera_use": "Visual focus within the screen, creating the occult-like uncertainty of the image.",
            "directionality_class": "content_surface",
            "element": "dark corner of CCTV feed",
            "orientation": "The shadow appears on one corner of the displayed feed, swallowing the meaningful content that should identify the figures.",
            "state": "too dark to read, shape indistinct"
          },
          {
            "camera_use": "Adds device texture and unease across the cropped image.",
            "directionality_class": "non_directional",
            "element": "CCTV scan-line noise",
            "orientation": "",
            "state": "flickering, monochrome, humid-looking"
          }
        ],
        "lighting_mood": "Cold monitor glow and dirty monochrome contrast create a damp blue-gray office dread with the black corner reading almost ritualistically unnatural.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the monitor side of the room, the tracking move settles into a near-locked eye-level close-up about 1.5 feet from 수리영, with her face slightly three-quarter rather than fully frontal. Her anxious eyes sit just above center and her pressed lips occupy the lower third, while the unseen CCTV screen remains implied as a pale blue flicker from below frame.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "biting lower lip",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Implied light source and emotional anchor just off frame.",
            "directionality_class": "content_surface",
            "element": "CCTV monitor",
            "orientation": "The front display face is angled toward 수리영 and mostly outside the crop, visible only as blue-white spill on her skin.",
            "state": "on, replaying dim footage"
          },
          {
            "camera_use": "Soft dark negative space behind her head, isolating her reaction.",
            "directionality_class": "directional_3d",
            "element": "dark office wall and file shelves",
            "orientation": "The shadowed shelf faces are turned obliquely to camera, reduced to blurred vertical blocks.",
            "state": "unlit, cluttered, indistinct"
          },
          {
            "camera_use": "Low foreground darkness gives the sense of the desk separating her from the screen.",
            "directionality_class": "directional_3d",
            "element": "administration desk edge",
            "orientation": "The desk edge runs horizontally below frame, only a dark upper lip catching monitor spill.",
            "state": "dim, partially cropped"
          }
        ],
        "lighting_mood": "The room stays swallowed in blue-gray shadow while the monitor casts a sickly cold underlight across her eyes and clenched mouth.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 20,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the desk edge, the camera is less than a meter from 수리영 and angled slightly upward from the implied photographs below, tightening until only her widened eyes and parted mouth carry the horror. The frame keeps the disturbing prints out of view except for a blurred pale sliver at the bottom, making her face the evidence of what she has seen.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "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-frame implication of the source of shock.",
            "directionality_class": "content_surface",
            "element": "crime-scene photograph edges",
            "orientation": "Only the printed front faces are barely visible at the bottom edge, their image content unreadable but clearly photographic.",
            "state": "scattered, partially out of focus"
          },
          {
            "camera_use": "Creates bureaucratic depth behind the close-up.",
            "directionality_class": "directional_3d",
            "element": "police desk clutter",
            "orientation": "Folders and trays angle away behind her in soft focus, their side edges catching fluorescent light.",
            "state": "messy, unattended"
          },
          {
            "camera_use": "Background atmosphere and institutional color cast.",
            "directionality_class": "non_directional",
            "element": "police office fluorescent haze",
            "orientation": "",
            "state": "flat, cold, slightly greenish"
          }
        ],
        "lighting_mood": "Daytime fluorescent light is drained into blue-gray pallor, with a faint sickly warmth from desk lamps unable to soften her shock.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 9,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera is at desktop height directly in front of 김형사's monitor, less than half a meter away, held static and square so the active display occupies nearly all of the image inside the cropped screen area. A sea map sits beneath hard red GPS coordinates, the numbers placed near the visual center like an accusation, with no face or office detail allowed to relieve the frame.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary informational reveal; all composition is organized around legibility.",
            "directionality_class": "content_surface",
            "element": "detective's monitor display",
            "orientation": "The front screen face is square to camera, showing the location-tracking result interface and sea map.",
            "state": "on, crisp, newly alerted"
          },
          {
            "camera_use": "Central visual and narrative focus.",
            "directionality_class": "content_surface",
            "element": "red GPS coordinate text",
            "orientation": "The red coordinate numbers are displayed on the monitor face over the map area, clearly readable against the cooler interface.",
            "state": "bright, sharp, alarming"
          },
          {
            "camera_use": "Establishes the location as open water rather than land.",
            "directionality_class": "content_surface",
            "element": "sea map interface",
            "orientation": "The map graphic is printed digitally across the screen face, with blue-gray ocean tones visible behind the text.",
            "state": "static, cold-toned"
          }
        ],
        "lighting_mood": "The monitor's clinical blue-white glow is punctured by ominous red coordinate text, making the police-office daylight feel suddenly funereal.",
        "perception_mode": "through_device",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 13,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From inside the police office near the doorway, the camera holds shoulder-high and slightly behind 수리영, a little farther back so the doorframe cuts the frame vertically and a narrow corridor slice opens beyond her. She is frozen halfway out, body compressed into the threshold on the right half of the image, checking the hall before slipping away.",
        "character_angles": [
          {
            "angle": "over_shoulder",
            "body_pose": "half through doorway",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "corridor beyond door",
              "label": "수리영",
              "screen_zone": "middle_right",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "corridor beyond door",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "office doorframe",
              "screen_zone": "middle_left",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Frames her escape and divides office safety from corridor risk.",
            "directionality_class": "directional_3d",
            "element": "office doorframe",
            "orientation": "The inner edge of the frame faces camera as a dark vertical border, with 수리영 squeezed through it.",
            "state": "open, shadowed"
          },
          {
            "camera_use": "Destination she checks before leaving.",
            "directionality_class": "directional_3d",
            "element": "police station corridor",
            "orientation": "The corridor recedes away from the doorway, seen as a narrow slice beyond her shoulder.",
            "state": "mostly empty, fluorescent-lit"
          },
          {
            "camera_use": "Shows the unattended space she is abandoning.",
            "directionality_class": "directional_3d",
            "element": "police office interior",
            "orientation": "Desk rows and partition sides angle away behind camera-left in soft focus.",
            "state": "vacated, cluttered"
          }
        ],
        "lighting_mood": "Cold fluorescent office light leaks into a dimmer corridor, keeping the palette blue-gray with a faint institutional green tension.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 21,
        "shot_index": 16,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From across the road at waist height, the locked camera frames 수리영 and the full bicycle in a medium-long profile-to-three-quarter view before any tracking begins. Her hips are lifted off the saddle and one pedal is driven hard downward, placing her body in the left-middle of the frame with the police station entrance behind her as the departure point.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "hips lifted pedaling",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "screen right along the road",
              "label": "수리영",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "police station entrance",
              "screen_zone": "upper_left",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Departure backdrop that identifies where she is fleeing from.",
            "directionality_class": "directional_3d",
            "element": "police station entrance",
            "orientation": "The entrance facade faces the road at a slight angle behind her, doors visible but not emphasized.",
            "state": "open, daytime, official-looking"
          },
          {
            "camera_use": "Horizontal plane for the impending escape direction.",
            "directionality_class": "non_directional",
            "element": "roadside pavement",
            "orientation": "",
            "state": "dry-to-damp, gray, empty around her"
          },
          {
            "camera_use": "Action vehicle integrated with her pose.",
            "directionality_class": "directional_3d",
            "element": "bicycle",
            "orientation": "The bicycle is seen in side profile with the front wheel aimed toward screen right.",
            "state": "in motion start, pedal depressed"
          }
        ],
        "lighting_mood": "Muted daylight is flattened into blue-gray urban tension, with no warmth except a dull reflection off the road and station glass.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 22,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At seated eye level just beyond the monitor edge, the camera holds a tight frontal close-up of 수리영 across the PC-room desk, about two feet away. Her face occupies the center while the monitor edge remains a dark sliver in the foreground, letting the blue screen glow flatten her features into a tense, sleepless mask.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "hunched at terminal",
            "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 occlusion and light source shaping her face.",
            "directionality_class": "content_surface",
            "element": "PC monitor",
            "orientation": "The content-bearing front face is turned toward 수리영 and mostly away from camera; only the near edge and blue spill are visible.",
            "state": "on, bright blue, partially cropped"
          },
          {
            "camera_use": "Dark layered background, making her screen station feel isolated.",
            "directionality_class": "directional_3d",
            "element": "PC room cubicle partitions",
            "orientation": "Partition side panels recede behind her in staggered dark planes.",
            "state": "dim, worn, shadowed"
          },
          {
            "camera_use": "Ambient texture of the late-night interior.",
            "directionality_class": "non_directional",
            "element": "unlit computer stations",
            "orientation": "",
            "state": "mostly dark, scattered pin-lights"
          }
        ],
        "lighting_mood": "Hard blue monitor light dominates her face while the surrounding PC room collapses into humid black-blue shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 23,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Low at chair height within a foot of the open backpack, the camera finishes its dolly-in beside 수리영's hands, excluding her face completely. The folded map bundle is already being pushed into the bag at frame center, with her fingers and the backpack mouth forming a tight, secretive diagonal across the lower half.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "pushing folded maps",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary container and dark framing shape around the hands.",
            "directionality_class": "directional_3d",
            "element": "open backpack",
            "orientation": "The bag opening faces upward and slightly toward camera, with the inner cavity visible as a dark pocket.",
            "state": "open, worn, ready to be packed"
          },
          {
            "camera_use": "Primary action object being hidden away.",
            "directionality_class": "content_surface",
            "element": "folded printed maps",
            "orientation": "Creased map faces with faint route lines and coordinate markings are visible on the top folds as they slide into the bag.",
            "state": "folded multiple times, slightly crumpled"
          },
          {
            "camera_use": "Flat support plane catching blue spill from nearby monitors.",
            "directionality_class": "non_directional",
            "element": "PC room desk surface",
            "orientation": "",
            "state": "scratched, dimly lit, cluttered at edges"
          }
        ],
        "lighting_mood": "Blue monitor spill and thin sickly practical light skim over her hands, making the preparation feel covert and damply claustrophobic.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 23,
        "shot_index": 4,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The shot excludes 수리영's face and frames only her hands performing the packing action, so a full outlook reference may mislead the image generation toward showing her face.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "The camera tracks parallel about two meters off 수리영's left side at low-to-medium height, keeping the framing strongly lateral as she cuts through the coastal downpour. Her upper body stays low over the handlebars in the middle of the frame while wet hair, rain streaks, and road spray smear backward with motion blur.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "low 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": "screen right along the coastal road",
              "label": "수리영",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "coastal road line",
              "screen_zone": "middle_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Motion plane and directional streaks behind the bicycle.",
            "directionality_class": "non_directional",
            "element": "rain-soaked coastal road",
            "orientation": "",
            "state": "slick, reflective, blurred by speed"
          },
          {
            "camera_use": "Horizontal coastal marker that emphasizes lateral travel.",
            "directionality_class": "directional_3d",
            "element": "roadside guardrail",
            "orientation": "The rail runs parallel to camera movement, its side face streaking behind her.",
            "state": "wet, gray, receding"
          },
          {
            "camera_use": "Atmospheric depth and isolation.",
            "directionality_class": "non_directional",
            "element": "storm rain and sea fog",
            "orientation": "",
            "state": "heavy, wind-driven, visibility reduced"
          }
        ],
        "lighting_mood": "Blue-gray storm light crushes the coast into cold shadow, with occasional pale reflections on rain and asphalt giving the image a brutal, urgent sheen.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 24,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Very close at handlebar-to-face height, slightly front-left of 수리영, the camera pushes inward with the bicycle's motion until her rain-soaked eyes fill the close frame through strands of wet hair. Background detail is reduced to streaked gray movement, keeping her forward glare locked just above center as if the road itself is pulling her into danger.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "bent into rain",
            "character": "수리영",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Foreground texture partly veiling the eyes without hiding them.",
            "directionality_class": "transparent_surface",
            "element": "raindrops on lens plane",
            "orientation": "Water beads and streaks sit on the optical surface, blurring the gray road motion seen through them.",
            "state": "wet, streaking, uneven"
          },
          {
            "camera_use": "Abstracted motion backdrop behind the extreme close-up.",
            "directionality_class": "non_directional",
            "element": "blurred coastal roadway",
            "orientation": "",
            "state": "gray, rain-smeared, nearly unreadable"
          },
          {
            "camera_use": "Atmospheric pressure around her face.",
            "directionality_class": "non_directional",
            "element": "wind-driven rain",
            "orientation": "",
            "state": "heavy, slanting backward with speed"
          }
        ],
        "lighting_mood": "Cold storm light and wet highlights carve her eyes out of the blue-gray rain, turning the shot severe and almost feverish.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 24,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the rear of the ransacked living room at adult eye level, the camera holds several feet behind 수리영, slightly off center, so her still back sits in the middle distance while toppled chairs and scattered household debris frame her on both sides. The composition stays static and wide, with the open bedroom area aligned ahead of her gaze but not yet emphasized, letting her frozen silhouette dominate the wrecked space before the forward move begins.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "frozen mid-breath",
            "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": "Left-side environmental opening that admits dusk air and makes the room feel violated.",
            "directionality_class": "transparent_surface",
            "element": "open living-room window",
            "orientation": "The open pane is seen at an angle, with dim blue-gray evening haze visible beyond it.",
            "state": "open, damp, and unattended"
          },
          {
            "camera_use": "Foreground and midground obstruction around 수리영, showing the aftermath of a search.",
            "directionality_class": "directional_3d",
            "element": "toppled dining chairs",
            "orientation": "Their undersides and tilted legs face the camera, creating broken diagonals around the central figure.",
            "state": "overturned and askew"
          },
          {
            "camera_use": "Deep background destination of 수리영's stare, kept present but secondary.",
            "directionality_class": "directional_3d",
            "element": "open bedroom doorway",
            "orientation": "The doorframe faces the camera from the far side of the living room, revealing only a sliver of the room beyond.",
            "state": "open and ominously still"
          },
          {
            "camera_use": "Textural evidence across the floor leading through the mess.",
            "directionality_class": "non_directional",
            "element": "muddy footprints and scattered belongings",
            "orientation": "",
            "state": "wet, dirty, and irregularly spread"
          }
        ],
        "lighting_mood": "Cold blue-gray dusk leaks through the open window while faint sickly interior warmth catches the debris, leaving 수리영 as a tense dark mass against the violated room.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Locked off from the living-room side of the open bedroom doorway at eye level, the frame looks through the doorframe to the wall above the bed, excluding 수리영 completely. The red circular mark sits near the visual center, held in a medium architectural composition where the doorway becomes a dark border around the ritual-like sign.",
        "character_angles": [],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "red circular mark on bedroom wall",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "open bedroom doorway",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Primary focal surface, isolated through the doorway as the revealed threat.",
            "directionality_class": "content_surface",
            "element": "bedroom wall with red circle",
            "orientation": "The camera-facing wall surface shows a large brushy red circle painted above the bed, its front face fully visible through the doorway.",
            "state": "marked with fresh-looking red pigment"
          },
          {
            "camera_use": "Graphic frame-within-frame that excludes the living-room chaos and narrows attention.",
            "directionality_class": "directional_3d",
            "element": "open bedroom doorframe",
            "orientation": "The inner edges of the doorframe face the camera, creating vertical side borders around the wall.",
            "state": "open and still"
          },
          {
            "camera_use": "Low contextual anchor beneath the marked wall.",
            "directionality_class": "directional_3d",
            "element": "bed below the wall",
            "orientation": "The top plane and head-side edge of the bed are visible beneath the red circle.",
            "state": "rumpled and dimly lit"
          }
        ],
        "lighting_mood": "Muted dusk blue washes the doorway while the red mark reads as the only violent warm accent in the otherwise gray, humid room.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Beside the bed at seated head height, the camera finishes its slow dolly-in very close to 수리영's face, angled slightly downward toward the photograph implied just below her eye line. Her face occupies most of the frame in close-up, with the lower edge allowing a soft sliver of the old photo and her tense fingers to intrude without overtaking her blank expression.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "slumped on bed edge",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft lower-edge contextual cue for what she is staring at.",
            "directionality_class": "content_surface",
            "element": "old blood-stained photograph",
            "orientation": "The image side is partially visible at the lower frame edge, tilted upward from her hand but too soft to read clearly.",
            "state": "creased, old, and stained"
          },
          {
            "camera_use": "Blurred ritual reminder behind her head, connecting the discovery to the room.",
            "directionality_class": "content_surface",
            "element": "red-marked bedroom wall",
            "orientation": "The camera-facing wall surface is out of focus behind her, with only a smeared red curve suggested.",
            "state": "painted and blurred by shallow focus"
          },
          {
            "camera_use": "Seated support and emotional collapse point.",
            "directionality_class": "directional_3d",
            "element": "bed edge",
            "orientation": "The side edge of the bed runs behind her shoulder and under her posture.",
            "state": "rumpled and compressed"
          }
        ],
        "lighting_mood": "A sickly warm interior spill grazes her face while blue dusk shadow pools around her eyes, making the photo's unseen content feel heavier than the visible room.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 25,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera sits very low on the wet harbor ground beside the rough shoreline rocks, less than a meter from the smartphone and only about thirty centimeters above the surface. The phone screen is framed tight in close-up, angled slightly toward lens, while slick pebbles and dark rock texture remain soft around it as scale and atmosphere.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary focal object carrying story information through its lit face.",
            "directionality_class": "content_surface",
            "element": "smartphone screen",
            "orientation": "The front screen faces upward and slightly toward the camera, showing repeated missed-call alerts from 혜수.",
            "state": "on, wet-speckled, and vibrating implied"
          },
          {
            "camera_use": "Soft surrounding texture that grounds the phone in the abandoned port.",
            "directionality_class": "non_directional",
            "element": "wet harbor ground",
            "orientation": "",
            "state": "rain-darkened and gritty"
          },
          {
            "camera_use": "Dark edge texture behind the phone, suggesting the shoreline boundary.",
            "directionality_class": "non_directional",
            "element": "rough shoreline rocks",
            "orientation": "",
            "state": "slick, jagged, and damp"
          },
          {
            "camera_use": "Atmospheric depth beyond the close focal plane.",
            "directionality_class": "transparent_surface",
            "element": "low sea fog",
            "orientation": "The fog hangs beyond the phone and rocks, obscuring the harbor distance rather than presenting a clear background.",
            "state": "dense and drifting"
          }
        ],
        "lighting_mood": "The phone's cold digital glow cuts through blue-gray post-rain dusk, with the wet ground catching tiny silver reflections under heavy fog.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At chest height beside the mooring post, the camera holds about three meters from 인우, angled across the thick rope toward the docked boat. The post stands as a hard vertical in the near midground while the rope slices diagonally to 인우's hands, keeping him paused in a medium locked composition.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "bracing rope around post",
            "character": "인우",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Strong vertical compositional anchor between camera and 인우.",
            "directionality_class": "directional_3d",
            "element": "mooring post",
            "orientation": "The rounded front side of the post faces the camera, wet and dark against the fog.",
            "state": "wet, fixed, and weathered"
          },
          {
            "camera_use": "Main diagonal leading the eye from foreground anchor to 인우's hands.",
            "directionality_class": "directional_3d",
            "element": "thick mooring rope",
            "orientation": "The rope curves around the post and stretches diagonally back toward 인우 and the boat.",
            "state": "taut, damp, and heavy"
          },
          {
            "camera_use": "Background mass explaining his work and arrival.",
            "directionality_class": "directional_3d",
            "element": "docked fishing boat",
            "orientation": "The boat's side faces the camera beyond 인우, partly swallowed by fog.",
            "state": "moored and rocking faintly"
          },
          {
            "camera_use": "Horizontal base plane for the static tableau.",
            "directionality_class": "non_directional",
            "element": "wet pier surface",
            "orientation": "",
            "state": "slick after rain"
          }
        ],
        "lighting_mood": "Flat blue-gray fog softens the harbor while a thin golden dusk rim catches the rope fibers and the edge of 인우's jacket.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "In front of 수리영 on the harbor floor near the pier, the lens is placed slightly below her eye line and about one meter away, making her upward look toward 인우 feel vulnerable but unbroken. Her face is held in a tight close frame near center, with the fog-muted dock dissolving behind the camera axis so the plea carries the shot.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "leaning forward pleading",
            "character": "수리영",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft background atmosphere that isolates her expression.",
            "directionality_class": "transparent_surface",
            "element": "misty harbor air",
            "orientation": "The fog fills the space behind and around her, thinning the dock details into silhouettes.",
            "state": "dense and blue-gray"
          },
          {
            "camera_use": "Dim structural context behind her shoulders.",
            "directionality_class": "directional_3d",
            "element": "pier edge",
            "orientation": "The horizontal edge recedes behind her, partly obscured by mist.",
            "state": "wet and dark"
          },
          {
            "camera_use": "Subtle ground reflection beneath her, reinforcing recent rain.",
            "directionality_class": "non_directional",
            "element": "rain-slick harbor floor",
            "orientation": "",
            "state": "wet and faintly reflective"
          }
        ],
        "lighting_mood": "Cool fog wraps her face while a low golden dusk trace catches her eyes, turning the plea into a fragile contrast against the gray harbor.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 26,
        "shot_index": 8,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At eye level, the dolly reaches its tightest point within two feet of 혜수, slightly on the side of the hand pressing the smartphone to her ear. The close-up compresses her widened eyes, tense mouth, and the phone edge into one anxious plane, excluding the rest of the room except for a dim, wrecked blur behind her.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "phone pressed to ear",
            "character": "혜수",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C05",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Hyesu close-up",
              "screen_zone": "middle_center",
              "target_id": "C02",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Side prop that locks the shot to the voice message and frames her cheek.",
            "directionality_class": "directional_3d",
            "element": "smartphone at her ear",
            "orientation": "Only the side edge and back of the phone face the camera as it is pressed to her ear; the screen is not visible.",
            "state": "in use"
          },
          {
            "camera_use": "Soft context of the violated apartment behind her face.",
            "directionality_class": "non_directional",
            "element": "ransacked rooftop room background",
            "orientation": "",
            "state": "dim, cluttered, and out of focus"
          },
          {
            "camera_use": "Distant environmental movement suggested outside the tight frame.",
            "directionality_class": "directional_3d",
            "element": "rattling entrance area",
            "orientation": "Only a vague dark doorway zone is suggested behind her shoulder, not yet the focus.",
            "state": "drafty and unsettled"
          }
        ],
        "lighting_mood": "A dim blue dusk base is cut by weak yellow interior spill across 혜수's frozen face, with the phone side catching a cold metallic glint.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 27,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Tracking laterally from 혜수's side of the room, the camera nearly settles about five feet from 김형사 at chest-to-eye height in a restrained half-shot. He is held three-quarter to camera with folded arms, slightly off center, while the empty room space remains visible enough for his indifference to feel swallowed by the apartment's silence.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "arms folded tight",
            "character": "김형사",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Sparse negative space around 김형사, emphasizing emotional distance.",
            "directionality_class": "non_directional",
            "element": "dim rooftop-room interior",
            "orientation": "",
            "state": "messy, underlit, and hollow"
          },
          {
            "camera_use": "Upcoming source of sound kept at the edge of awareness.",
            "directionality_class": "directional_3d",
            "element": "entrance door area",
            "orientation": "The door zone sits off to one side in the room depth, its plane angled away from camera.",
            "state": "rattling faintly in the wind"
          },
          {
            "camera_use": "Background clutter that contrasts with his casual stillness.",
            "directionality_class": "directional_3d",
            "element": "overturned furniture and scattered items",
            "orientation": "Broken chair backs and furniture edges face different directions behind him.",
            "state": "disordered and abandoned"
          }
        ],
        "lighting_mood": "Sickly amber interior light flattens 김형사's expression while blue dusk shadows hollow out the room behind him.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 27,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "On the deck at seated eye level, the dolly-in resolves into a tight close-up with 수리영's fingers clamping the old photo edge in the foreground and pushing it directly into 인우's visual space. The photo occupies a strong foreground band without overwhelming the frame, while 인우's startled eyes and upper face remain just beyond it in the midground, compressed by the lens into a confrontational line.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "arm thrust forward",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "facing_camera",
            "body_pose": "chin pulled back",
            "character": "인우",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "reaches_for",
              "gesture_target_label": "Inwoo's eye line",
              "label": "Suriyoung pushing photograph",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Inwoo reacting behind photo",
              "screen_zone": "middle_center",
              "target_id": "C03",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Primary foreground pressure object carrying the clue.",
            "directionality_class": "content_surface",
            "element": "old photograph",
            "orientation": "The photo's image side is turned toward 인우 and partly toward the camera, with its stained edge and aged paper texture visible.",
            "state": "creased, blood-stained, and tightly gripped"
          },
          {
            "camera_use": "Physical contact detail showing 수리영's insistence.",
            "directionality_class": "non_directional",
            "element": "수리영's tense fingers",
            "orientation": "",
            "state": "white-knuckled and rigid"
          },
          {
            "camera_use": "Moving maritime base beneath the confrontation.",
            "directionality_class": "non_directional",
            "element": "fishing-boat deck",
            "orientation": "",
            "state": "damp, vibrating, and weathered"
          },
          {
            "camera_use": "Background geometry hinting at the escape route toward the wheelhouse.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse structure",
            "orientation": "A blurred side plane of the wheelhouse sits behind 인우, angled toward the deck path.",
            "state": "dim and looming"
          }
        ],
        "lighting_mood": "Golden dusk skims the photo edge and knuckles while cold sea shadow and a faint red-brown stain make the close-up feel accusatory and ritual-tainted.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 5,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only 수리영's hand and extended arm are visible, so a full outlook reference would not align with the cropped body-part framing.",
            "subject_id": "C01"
          },
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "인우 is reduced to a compressed partial face behind the photograph; base identity is needed, but detailed outlook matching should not drive the image.",
            "subject_id": "C03"
          }
        ]
      },
      {
        "camera_direction": "Tight at 인우's front-left quarter, eye level and within half a meter, the camera finishes its pan and holds for a frozen beat on his widened eyes and recoiling upper body. A soft edge of the photograph can pass through the near foreground, but the close frame belongs to his startled face pulling back from the unseen implication.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "recoiling backward",
            "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": "Near-foreground reminder of the image that triggered him.",
            "directionality_class": "content_surface",
            "element": "old photograph edge",
            "orientation": "Only the stained paper edge and a sliver of the image side skim the foreground, blurred close to lens.",
            "state": "creased and wavering"
          },
          {
            "camera_use": "Background exit path he is about to bolt toward.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse doorway",
            "orientation": "The doorway plane sits behind him off to one side, angled toward the deck path.",
            "state": "closed or partly shadowed, visually tense"
          },
          {
            "camera_use": "Low maritime texture behind his shoulders.",
            "directionality_class": "directional_3d",
            "element": "boat rail and deck fittings",
            "orientation": "The rail runs laterally behind him, its side catching faint dusk light.",
            "state": "wet and vibrating with the boat"
          }
        ],
        "lighting_mood": "A low golden dusk rim outlines 인우's cheek while blue-gray sea shadow hollows his eyes, turning his fear into a sharp tonal break before the handheld chase begins.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow’s tight side position at the wheelhouse doorway, the handheld camera sits slightly below shoulder height, about forty centimeters from Inwoo’s shoulder, compressing Suri-young’s two hands, his braced shoulder, and the damp doorframe into a tense close frame. The doorframe cuts the right edge vertically while Inwoo’s shoulder occupies the center-right and Suri-young’s gripping hands enter from the left, their knuckles sharp against the muted blue-gray deck gloom.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "both hands gripping shoulder",
            "character": "수리영",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "profile_left",
            "body_pose": "bracing against doorframe",
            "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": "Hard vertical edge that traps the bodies and gives Inwoo something to brace against.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse doorframe",
            "orientation": "The inner side edge faces camera in profile, wet and worn, forming a dark vertical bar on the right.",
            "state": "open, damp, chipped paint"
          },
          {
            "camera_use": "Dim background plane behind the struggle, suggesting the enclosed steering room beyond.",
            "directionality_class": "transparent_surface",
            "element": "open wheelhouse doorway",
            "orientation": "The opening is dark; only murky interior shapes are visible beyond the frame.",
            "state": "open, shadowed, humid"
          },
          {
            "camera_use": "Narrow sliver of exterior context behind the hands, keeping the fight tied to the boat deck.",
            "directionality_class": "non_directional",
            "element": "misty deck air",
            "orientation": "",
            "state": "fog-heavy, salt-hazy"
          }
        ],
        "lighting_mood": "Golden dusk is almost extinguished by blue-gray shadow, with sickly warm spill leaking from inside the wheelhouse onto the gripping hands.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 28,
        "shot_index": 12,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Suri-young is represented mainly by hands and forearms in a tight contact detail, so a full outlook reference would be visually unnecessary and may mislead the framing.",
            "subject_id": "C01"
          },
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Inwoo is identified through shoulder, neck, and bracing posture rather than a clear face, so base identity is sufficient for this close partial-body shot.",
            "subject_id": "C03"
          }
        ]
      },
      {
        "camera_direction": "The camera inherits the chest-height position over the steering console and locks into a tight insert, angled down so the old photograph and Suri-young’s fingertip are compressed into one evidentiary plane. Her finger presses the young girl’s face near the center of the frame, with the console edges barely visible at the margins as scale reference, and both living faces are excluded completely.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "finger pressing photograph",
            "character": "수리영",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Primary focal surface; the pressed face becomes the clue and emotional trigger.",
            "directionality_class": "content_surface",
            "element": "old photograph",
            "orientation": "The front image side faces camera, showing a worn group photo with a 12-year-old Korean girl’s face under Suri-young’s fingertip.",
            "state": "aged, creased, slightly glossy"
          },
          {
            "camera_use": "Dark base plane under the photo, keeping the evidence grounded inside the wheelhouse.",
            "directionality_class": "directional_3d",
            "element": "steering console edge",
            "orientation": "The upper lip and front bevel are partially visible beneath the photograph at a shallow angle.",
            "state": "scratched, damp, unlit"
          },
          {
            "camera_use": "Soft peripheral texture that hints at the enclosed, grimy boat interior without distracting from the photograph.",
            "directionality_class": "non_directional",
            "element": "wheelhouse grime and salt dust",
            "orientation": "",
            "state": "dirty, humid, low contrast"
          }
        ],
        "lighting_mood": "A sickly amber interior glow grazes the glossy photograph while blue dusk shadow cools the surrounding console, making the fingertip look accusatory and pale.",
        "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 Suri-young’s hand is visible in this insert; the shot should not require her full outlook reference.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "From just behind and above Inwoo’s shoulder line, the camera holds still at head height but excludes him, flattening the dark wheelhouse wall into a graphic, oppressive still-life. The red circular brush marks spread across the middle of frame like ritual signs, with the wall kept nearly perpendicular to the lens so the pattern feels discovered rather than theatrically staged.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary visual focus; the marks become the occult reveal that interrupts the human confrontation.",
            "directionality_class": "content_surface",
            "element": "wheelhouse wall with red circles",
            "orientation": "The painted wall face is square to camera, showing large rough red circular marks scattered across the dark surface.",
            "state": "dark, stained, marked with wet-looking red paint"
          },
          {
            "camera_use": "Edges the composition with claustrophobic boat architecture, preventing the wall from feeling abstract.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse corner seam",
            "orientation": "The side seam angles away at the far edge, revealing the wall’s cramped interior depth.",
            "state": "warped, water-stained"
          },
          {
            "camera_use": "Small cold openings that make the red marks feel trapped in a damp cabin rather than on a flat graphic backdrop.",
            "directionality_class": "transparent_surface",
            "element": "salt-clouded wheelhouse window sliver",
            "orientation": "The grimy glass is seen obliquely; only dull blue fog and dusk blur are visible through it.",
            "state": "clouded, streaked, nearly opaque"
          }
        ],
        "lighting_mood": "The room falls into blue-black shadow while the red circles catch a faint diseased warmth, turning the wall into a quiet ritual warning.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera stays at the flow’s neck-height aftermath position, only inches beside Inwoo’s shoulder, and tightens until Suri-young’s fallen head and the tense shoulder contact fill the close frame. Her slack face rests in the lower-left/middle while Inwoo’s shoulder forms a rigid dark mass on the right; no collapse motion remains, only the weight of her stillness.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "head slack on shoulder",
            "character": "수리영",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "unconscious"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "neck held rigid",
            "character": "인우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "수리영",
              "screen_zone": "middle_left",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Blurred rear plane behind the bodies, letting the previous red-circle reveal haunt the frame without overtaking it.",
            "directionality_class": "content_surface",
            "element": "out-of-focus marked wheelhouse wall",
            "orientation": "The wall face is barely visible behind them, with red circular paint marks reduced to smeared background shapes.",
            "state": "dark, stained, heavily blurred"
          },
          {
            "camera_use": "Contact surface and physical anchor for Suri-young’s collapse.",
            "directionality_class": "directional_3d",
            "element": "Inwoo's shoulder line against cabin shadow",
            "orientation": "The shoulder’s side and back angle toward camera, creating a steep dark slope under Suri-young’s head.",
            "state": "rigid, shadowed, damp fabric"
          },
          {
            "camera_use": "Narrow enclosure that compresses the two bodies into a suffocating interior space.",
            "directionality_class": "directional_3d",
            "element": "wheelhouse side panel",
            "orientation": "A shallow side plane recedes behind the shoulder, barely separating foreground bodies from the wall.",
            "state": "scratched, humid, low-lit"
          }
        ],
        "lighting_mood": "A dim amber cabin smear catches Suri-young’s cheek while the rest of the frame sinks into blue-gray shadow and stale red undertones.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 29,
        "shot_index": 9,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Inwoo is present mainly as shoulder, neck, and rigid contact surface; a full outlook reference is not required for this partial close-up.",
            "subject_id": "C03"
          }
        ]
      },
      {
        "camera_direction": "The camera holds the flow’s wide offshore starting position, slightly elevated above the waterline and far enough back that the fog wall becomes monumental rather than merely atmospheric. The red-gold sea occupies the lower half of the frame, while the massive dark blue fog bank rises across the horizon and erases the boundary between sky and water.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary subject and supernatural boundary, blocking the horizon like a wall.",
            "directionality_class": "non_directional",
            "element": "massive dark blue fog wall",
            "orientation": "",
            "state": "dense, towering, horizon-erasing"
          },
          {
            "camera_use": "Reflective base plane carrying the last warmth of sunset into the ominous fog boundary.",
            "directionality_class": "reflective_surface",
            "element": "red-gold sea surface",
            "orientation": "The rippling surface reflects the dying golden sky and red dusk tones beneath the blue fog wall.",
            "state": "darkening, gently heaving, metallic red sheen"
          },
          {
            "camera_use": "Thin upper color source that contrasts with the cold fog mass.",
            "directionality_class": "non_directional",
            "element": "dusk sky glow",
            "orientation": "",
            "state": "fading, muted gold, cloud-veiled"
          }
        ],
        "lighting_mood": "Golden dusk reflections burn across the water, but the fog swallows them in cold blue-gray mass with a faint ominous red cast near the surface.",
        "perception_mode": "direct",
        "perspective": "omniscient",
        "pov_character": "",
        "scene_index": 30,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Matching the boat’s forward movement from the flow’s very low bow-level front-quarter position, the camera tracks just above the water as the small fishing boat’s bow pushes halfway into the dense fog. The bow sits center-right and cuts into the blue-white wall, while spray breaks along the lower frame and the last red sea behind it begins to disappear.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Primary moving object, defining the threshold between open sea and fog interior.",
            "directionality_class": "directional_3d",
            "element": "small fishing boat bow",
            "orientation": "The front-quarter side of the bow faces camera, angled forward into the fog with the prow cutting diagonally from lower right toward center.",
            "state": "wet, weathered, advancing"
          },
          {
            "camera_use": "Physical threshold swallowing the boat and reducing depth perception.",
            "directionality_class": "transparent_surface",
            "element": "dense fog boundary",
            "orientation": "The semi-opaque fog surface fills the forward view; only the bow’s nearest edge remains visible as it enters.",
            "state": "thick, cold blue, visibility collapsing"
          },
          {
            "camera_use": "Foreground motion texture that makes the entry feel continuous and dangerous.",
            "directionality_class": "non_directional",
            "element": "water spray around the bow",
            "orientation": "",
            "state": "bursting, white, wind-torn"
          },
          {
            "camera_use": "Retreating exterior world, still reflecting sunset before being cut off by fog.",
            "directionality_class": "reflective_surface",
            "element": "red dusk water beside the hull",
            "orientation": "The choppy surface reflects red-gold dusk along the boat’s side before fading into fog shadow.",
            "state": "agitated, dark red, splashing"
          }
        ],
        "lighting_mood": "The bow leaves the warm red-gold dusk and enters a cold blue fog glow, with white spray flashing like brief wounds against the hull.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 30,
        "shot_index": 3,
        "subject_reference_policy": []
      }
    ],
    "total": 66,
    "failed_batches": 0
  },
  "step_id": "shot_staging",
  "run_id": "e966a02b-486e-42d1-b4e5-3fb473eb3c6c",
  "resolved_model": "gpt",
  "updated_at": "2026-05-22T00:30:34.361775+00:00",
  "schema_version": 6,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}