{
  "status": "completed",
  "completed_count": 34,
  "applicable_count": 34,
  "failed_count": 0,
  "data": {
    "shots": [
      {
        "camera_direction": "From the flow's underwater end-position, the lens finishes its low dolly-in between torn plastic, cable, and silt until the rusted robot finger sits inches from camera, angled diagonally through the lower center rather than overwhelming the whole frame. The viewpoint is almost seabed-height with a slight upward tilt, using shallow depth of field so corrosion pits and barnacle grit are sharp while the surrounding trash mound presses in as a murky, oppressive frame.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Tight surrounding frame around the finger, giving scale and pressure without hiding the fingertip.",
            "directionality_class": "non_directional",
            "element": "underwater trash mound",
            "orientation": "",
            "state": "silt-covered, compacted, slowly shedding particles"
          },
          {
            "camera_use": "Soft foreground obstruction and texture layer around the primary detail.",
            "directionality_class": "directional_3d",
            "element": "twisted scrap cables and broken plastic shards",
            "orientation": "jagged edges angle inward toward the camera, forming a narrow visual tunnel around the finger",
            "state": "corroded, algae-stained, half-buried"
          },
          {
            "camera_use": "Atmospheric veil behind the fingertip, making the water feel polluted and heavy.",
            "directionality_class": "non_directional",
            "element": "suspended silt and bubbles",
            "orientation": "",
            "state": "dim, drifting, blue-green and dirty"
          }
        ],
        "lighting_mood": "Low, filtered blue-green daylight leaks through polluted water, with rust catching a faint copper edge against the cold seabed murk.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Keeping the flow's close underwater impact position, the camera sits slightly below the crane jaws and looks upward-inward as the claw is now fully clamped around the trash mound. The handheld turbulence settles into a readable close-wide composition: claw teeth frame the left and right edges, crushed debris occupies the middle, and the robot finger is no longer visible but clearly implied inside the compressed mass.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Main enclosing shape around the crushed pile, creating a mechanical trap around the implied robot finger.",
            "directionality_class": "directional_3d",
            "element": "crane claw jaws",
            "orientation": "inner gripping teeth face the camera from both sides, locked inward around the mound",
            "state": "fully closed, scratched, industrial, shedding bubbles"
          },
          {
            "camera_use": "Central focal mass being seized by the claw.",
            "directionality_class": "non_directional",
            "element": "compressed underwater trash pile",
            "orientation": "",
            "state": "crushed tight, leaking silt, rust flakes and plastic fragments drifting loose"
          },
          {
            "camera_use": "Motion residue from the grab, softening the background and making the impact feel recent.",
            "directionality_class": "non_directional",
            "element": "clouded seabed water",
            "orientation": "",
            "state": "turbulent but settling, full of bubbles and falling sediment"
          }
        ],
        "lighting_mood": "Dirty aquatic daylight is broken by the claw's shadow, leaving the closed jaws in a cold, low-contrast green gloom.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 1,
        "shot_index": 7,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow's low waterline start, the camera tracks backward directly ahead of the collection ship, barely above the surface, so the bow advances from the hazy background into the middle of frame. Water slap and floating debris burst outward across the foreground left and right, while a split ship hull fragment and smaller wreckage pieces provide scale at debris level.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary moving mass bearing down on the lens and pushing the frame open.",
            "directionality_class": "directional_3d",
            "element": "garbage collection ship bow",
            "orientation": "front face of the bow points directly toward camera, its lower edge cutting through the waterline",
            "state": "massive, stained, wet, advancing"
          },
          {
            "camera_use": "Foreground collision texture as the bow forces objects aside.",
            "directionality_class": "non_directional",
            "element": "floating wreckage and plastic debris",
            "orientation": "",
            "state": "scattered, waterlogged, shoved outward by the bow wave"
          },
          {
            "camera_use": "Large scale reference beside the ship's path.",
            "directionality_class": "directional_3d",
            "element": "half-broken ship section",
            "orientation": "jagged side of the severed hull faces camera at a diagonal, showing its torn interior ribs",
            "state": "rusted, partly submerged, drifting"
          },
          {
            "camera_use": "Surface layer that carries the impact and reflects the polluted sky weakly.",
            "directionality_class": "reflective_surface",
            "element": "polluted seawater surface",
            "orientation": "the rippled surface reflects a dull gray coastal sky and broken silhouettes of debris",
            "state": "choppy, oily, gray-blue"
          }
        ],
        "lighting_mood": "Overcast coastal daylight is flattened by industrial haze, with cold gray highlights on the bow wave and muted rust tones in the wreckage.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Following the flow's deck-side dolly-in, the lens ends low and about two meters from the trash mound, angled slightly downward so 고철 로봇 is fully visible from head to feet within the net. The robot lies diagonally across the middle of frame, surrounded by wet junk piles that hem in the body without hiding the thick rope pattern wrapped around it.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "sprawled under netting",
            "character": "고철 로봇",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "unconscious"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Encases the robot and creates a visible capture pattern across the body.",
            "directionality_class": "non_directional",
            "element": "thick fishing net",
            "orientation": "",
            "state": "wet, taut in places, tangled around limbs and torso"
          },
          {
            "camera_use": "Raised platform beneath the robot, keeping the body embedded in ship refuse.",
            "directionality_class": "non_directional",
            "element": "deck trash mound",
            "orientation": "",
            "state": "freshly dumped, dripping seawater, mixed metal and plastic"
          },
          {
            "camera_use": "Industrial base plane and grimy texture around the mound.",
            "directionality_class": "directional_3d",
            "element": "collection ship deck plating",
            "orientation": "flat deck plates recede away from the camera, seams leading toward the trash mound",
            "state": "slick, rust-streaked, dirty"
          }
        ],
        "lighting_mood": "Harsh gray daylight from the open deck mixes with greenish industrial spill, making the net shine wetly against the robot's dull scrap-metal body.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 2,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From deep inside the moving dump truck's cargo bed, the camera completes the flow's extreme low push-in and holds within arm's length of the buried robot face. The face sits tight in the center-right of frame, wedged between dark scrap plates in the foreground and midground, with the truck's vibration giving the composition a cramped, metallic shudder.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "wedged among scrap",
            "character": "고철 로봇",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "unconscious"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Oppressive foreground frame around the robot face, creating a buried viewpoint.",
            "directionality_class": "directional_3d",
            "element": "rough scrap metal slabs",
            "orientation": "sharp side edges and bent faces angle toward camera from both sides, enclosing the robot face",
            "state": "rusted, dented, vibrating with the truck"
          },
          {
            "camera_use": "Moving enclosure that explains the shaking and road momentum.",
            "directionality_class": "directional_3d",
            "element": "dump truck cargo bed interior",
            "orientation": "inner wall panels recede behind the scrap pile, their scratched metal sides facing inward",
            "state": "dusty, rattling, loaded with junk"
          },
          {
            "camera_use": "Atmospheric layer between metal pieces, catching gritty daylight.",
            "directionality_class": "non_directional",
            "element": "road dust and metal flakes",
            "orientation": "",
            "state": "loose, trembling, suspended in the cargo bed air"
          }
        ],
        "lighting_mood": "Dirty daylight flickers between scrap gaps, producing cold silver flashes and deep black pockets across the robot's worn face.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 3,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the car from the flow's low dashboard-to-passenger position, the dolly-in tightens so the badly crumpled paper map fills the lower foreground while 현우's concentrated face remains above it in the upper middle. The lens is chest-height and slightly favoring the passenger side, using the dashboard edge as a dark foreground shelf and the windshield glow as a muted background plane.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "hunched over map",
            "character": "현우",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Dominant lower-foreground object guiding the viewer to what Hyunwoo studies.",
            "directionality_class": "content_surface",
            "element": "badly crumpled paper map",
            "orientation": "the drawn face of the paper turns upward toward the camera, showing warped hand-drawn route lines across creases",
            "state": "creased, smudged, gripped in both hands"
          },
          {
            "camera_use": "Dark foreground framing line between camera and subject.",
            "directionality_class": "directional_3d",
            "element": "car dashboard edge",
            "orientation": "top edge faces camera as a low horizontal barrier beneath the map",
            "state": "worn, dusty, unlit"
          },
          {
            "camera_use": "Soft background layer behind Hyunwoo, indicating the affluent street outside.",
            "directionality_class": "transparent_surface",
            "element": "front windshield",
            "orientation": "slightly dirty glass with blurred luxury houses and gray daylight visible beyond it",
            "state": "closed, hazy, lightly streaked"
          }
        ],
        "lighting_mood": "Muted daylight through the windshield mixes with dim dashboard shadow, giving Hyunwoo's face a cool, tense half-light while the map catches the brightest gray.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 4,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow's passenger-side interior angle, the camera holds static at eye level across the center console toward the driver's seat, slightly more frontal than before without becoming a direct address. 페드로 occupies the center-left in close-medium framing, one finger pressing the earbud at his ear while his stare goes past the lens toward the windshield and street ahead.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "finger pressing earbud",
            "character": "페드로",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Foreground diagonal separating camera from Pedro and reinforcing the car interior geography.",
            "directionality_class": "directional_3d",
            "element": "center console",
            "orientation": "side face angles from lower right toward Pedro, leading the eye to the driver's seat",
            "state": "dark plastic, scratched, dim"
          },
          {
            "camera_use": "Driver-position anchor around Pedro's hands and body.",
            "directionality_class": "directional_3d",
            "element": "steering wheel",
            "orientation": "front rim faces Pedro, seen at a slight angle from the passenger side",
            "state": "still, worn, partially shadowed"
          },
          {
            "camera_use": "Background viewing plane for Pedro's forward stare.",
            "directionality_class": "transparent_surface",
            "element": "windshield",
            "orientation": "closed glass shows a washed-out, hazy residential street beyond Pedro's line of sight",
            "state": "closed, dusty, gray-lit"
          }
        ],
        "lighting_mood": "Soft polluted daylight through the windshield silhouettes Pedro's cheek and earbud hand, with the car cabin falling into low-key green-gray shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 4,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the flow's floor-level reveal point, the dolly-in tightens into an extreme head close-up from slightly off to the side, keeping 젊은 아시아계 여성 (내부 골격 노출 상태)'s damaged synthetic face as the primary frame. Her head lies across the lower center, the exposed silver internal structure catching the eye while the living room floor and blurred dog movement are pushed to the margins rather than becoming the subject.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "head pressed sideways",
            "character": "젊은 아시아계 여성 (내부 골격 노출 상태)",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "severely_injured"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "exposed robot head",
              "screen_zone": "middle_center",
              "target_id": "C21",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Base plane that places the head at floor level and gives hard contact texture.",
            "directionality_class": "non_directional",
            "element": "living room floor",
            "orientation": "",
            "state": "clean but scuffed, now disturbed by the fall"
          },
          {
            "camera_use": "Soft peripheral motion cue without making the attack graphic.",
            "directionality_class": "directional_3d",
            "element": "blurred dog shape at frame edge",
            "orientation": "only a partial side silhouette crosses the edge of frame, angled toward the fallen head",
            "state": "out of focus, tense, mostly cropped"
          },
          {
            "camera_use": "Reflective highlight source on the exposed structure.",
            "directionality_class": "reflective_surface",
            "element": "exposed silver internal structure",
            "orientation": "polished torn metal reflects pale window light and dark floor tones in broken highlights",
            "state": "newly revealed, bright against synthetic skin"
          }
        ],
        "lighting_mood": "Cold window light skims the floor and flashes off silver metal, while the rest of the living room drops into anxious, alarm-tinged shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 17,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From ground level outside the house, the flow's dolly-out widens from close in front of 현우 until the driveway and street reveal 경찰 forming a clear semicircle around him. 현우 is held in the middle of the frame with his hands half-raised, while armed officers enter the foreground and side edges as over-shoulder silhouettes aiming inward, creating a contained capture geometry without graphic violence.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "hands half-raised",
            "character": "현우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C12",
            "subject_state": "alive"
          },
          {
            "angle": "over_shoulder",
            "body_pose": "pistols aimed inward",
            "character": "경찰",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Hyunwoo surrounded in driveway",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "points_to",
              "gesture_target_label": "Hyunwoo at center",
              "label": "armed police semicircle",
              "screen_zone": "lower_left",
              "target_id": "C12",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "opposite side of police semicircle",
              "screen_zone": "lower_right",
              "target_id": "C12",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Spatial arena for the capture, revealed by the pullback.",
            "directionality_class": "directional_3d",
            "element": "driveway outside luxury house",
            "orientation": "driveway surface recedes from the camera toward the house behind Hyunwoo",
            "state": "clean, pale, damp under coastal haze"
          },
          {
            "camera_use": "Background status marker of the failed escape route.",
            "directionality_class": "transparent_surface",
            "element": "second-floor window",
            "orientation": "open glass frame above and behind Hyunwoo, with dim interior visible through it",
            "state": "open, disturbed, reflecting gray daylight"
          },
          {
            "camera_use": "Rigid backdrop contrasting the semicircle of officers.",
            "directionality_class": "directional_3d",
            "element": "luxury house facade",
            "orientation": "front wall faces the street and camera at a slight angle, windows stacked behind the capture space",
            "state": "polished but cold, alarm-lit"
          }
        ],
        "lighting_mood": "Gray daylight is cut by faint alarm color and police-side shadows, turning the affluent driveway into a tense, desaturated trap.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 5,
        "shot_index": 28,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the flow's tight roadside reaction position, the handheld camera is less than a meter from 아시아계 아줌마 at head height but tilted slightly upward, making her yelling face crowd the upper center. Her outstretched arm slices diagonally across the foreground toward the passing dump truck just off-frame, while muddy splash and market clutter vibrate behind her in the refugee-camp street.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "arm thrust outward",
            "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": "Immediate environmental texture behind her anger and the truck's disruption.",
            "directionality_class": "non_directional",
            "element": "muddy roadside",
            "orientation": "",
            "state": "wet, churned, splashed with dirty water"
          },
          {
            "camera_use": "Blurred edge cue showing the truck's recent passage without shifting focus away from her face.",
            "directionality_class": "directional_3d",
            "element": "passing dump truck edge",
            "orientation": "only a side sliver of the truck crosses the far edge of frame, moving away from her arm line",
            "state": "mud-smeared, fast, partly off-frame"
          },
          {
            "camera_use": "Background social context and cluttered camp texture.",
            "directionality_class": "directional_3d",
            "element": "market stall frame and hanging tarp",
            "orientation": "front edge of the stall faces the road, with tarp sagging toward the camera side",
            "state": "worn, damp, shaken by street movement"
          },
          {
            "camera_use": "Overhead visual chaos of the settlement.",
            "directionality_class": "non_directional",
            "element": "tangled power lines and laundry lines",
            "orientation": "",
            "state": "drooping, crowded, dusty against polluted daylight"
          }
        ],
        "lighting_mood": "Flat gray daylight filtered through coastal smog is broken by muddy splash highlights, giving her face a raw, high-contrast anger against the muted camp colors.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 6,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Mounted just outside the dump truck driver's door at side-mirror height, the camera travels with the truck about 50 centimeters from the mirror, holding an extremely tight reflected view of the driver's raised mouth corner. The side mirror sits slightly right of center and takes less than a third of the frame; the reflected mouth is sharp while the muddy settlement lane streaks into peripheral blur around the mirror frame, with a subtle vibration from the moving vehicle.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "smirking into mirror",
            "character": "덤프트럭 운전사",
            "gaze_direction_kind": "distant",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "primary reflective framing device for the driver's mouth",
            "directionality_class": "reflective_surface",
            "element": "truck side mirror",
            "orientation": "The mirror surface reflects the driver's lower face and a smeared strip of the road behind, with left-right reversal and road vibration visible.",
            "state": "dirty, vibrating, rain-specked"
          },
          {
            "camera_use": "dark metal edge anchoring the mirror to the moving vehicle",
            "directionality_class": "directional_3d",
            "element": "dump truck driver's door",
            "orientation": "The exterior side panel faces camera at a shallow angle, cropped along the left edge.",
            "state": "mud-streaked and dented"
          },
          {
            "camera_use": "peripheral motion blur around the reflected reveal",
            "directionality_class": "non_directional",
            "element": "muddy refugee-settlement lane",
            "orientation": "",
            "state": "wet, chaotic, heavily blurred"
          }
        ],
        "lighting_mood": "Cold polluted daylight is flattened by coastal haze, with the driver's reflected mouth catching a greasy gray highlight against the brown motion-smear.",
        "perception_mode": "mirror",
        "perspective": "object_pov",
        "pov_character": "",
        "scene_index": 6,
        "shot_index": 8,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only the driver's mouth appears in a vibrating mirror reflection, so a full outlook reference would overconstrain the image.",
            "subject_id": "C17"
          }
        ]
      },
      {
        "camera_direction": "From the edge of a crushed metal trash pile, the waist-high dolly-in settles into a medium three-quarter view of Amber about 8 feet away as she surfaces from the junk. The damaged silver robot arm is held at her shoulder height in the upper right of her body line, large enough to lead the composition but not oversized; Amber occupies the center-left midground with twisted scrap forming a jagged foreground frame.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "lifting scrap arm",
            "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": "jagged foreground and physical source of Amber's emergence",
            "directionality_class": "non_directional",
            "element": "crushed metal trash pile",
            "orientation": "",
            "state": "wet, rusted, unstable"
          },
          {
            "camera_use": "primary prop shaping Amber's upper-body silhouette",
            "directionality_class": "directional_3d",
            "element": "damaged silver robot arm",
            "orientation": "The dented outer plating faces camera, with the crushed wrist end angled slightly upward.",
            "state": "severely warped, scratched, oily"
          },
          {
            "camera_use": "dystopian atmosphere behind Amber",
            "directionality_class": "non_directional",
            "element": "black smoke columns",
            "orientation": "",
            "state": "active, drifting through polluted daylight"
          }
        ],
        "lighting_mood": "Muted gray daylight filters through smoke, picking out cold silver highlights on the robot arm while Amber's face remains softly grimy and low-contrast.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera holds low behind Amber at shoulder height but slightly below her shoulder line, about 4 feet back, making her small back silhouette face the broken jukebox directly. Amber is centered in the lower half of the frame with her head tilted upward; the cracked glass front panel rises above her, filling the upper frame without overwhelming the human scale.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "craning at jukebox",
            "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": "broken jukebox front",
              "label": "Amber",
              "screen_zone": "lower_center",
              "target_id": "C02",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "broken jukebox front",
              "screen_zone": "upper_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "looks_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "main object Amber looks up at, creating scale contrast",
            "directionality_class": "transparent_surface",
            "element": "cracked jukebox glass front panel",
            "orientation": "The shattered front glass faces camera; through it, dim mechanical parts and broken record slots are visible.",
            "state": "cracked, dusty, partially missing"
          },
          {
            "camera_use": "vertical mass behind Amber's silhouette",
            "directionality_class": "directional_3d",
            "element": "old jukebox cabinet",
            "orientation": "The broken front face points toward camera, with one side edge receding into the trash-lot depth.",
            "state": "rusted, dented, inactive"
          },
          {
            "camera_use": "low industrial texture at Amber's feet",
            "directionality_class": "non_directional",
            "element": "trash-lot ground",
            "orientation": "",
            "state": "muddy, littered with small scrap"
          }
        ],
        "lighting_mood": "Smoky daylight backlights the cracked glass in dull blue-gray, leaving Amber's back in a soft silhouette with dirty amber rust tones below.",
        "perception_mode": "direct",
        "perspective": "over_shoulder",
        "pov_character": "",
        "scene_index": 7,
        "shot_index": 10,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the closest point of the dolly-in, the low frontal camera freezes about 4 feet high at the foot of the trash mound, 15 feet from Charlie, making his gorilla-like upper body loom from the center background. Amber and Raul sit lower in the foreground plane at opposite edges, small and off-balance, while Charlie's half-buried torso occupies the central mass of the frame against sliding heaps of scrap.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "half-buried bracing",
            "character": "찰리",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "fallen on palms",
            "character": "앰버",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "scrambling on elbows",
            "character": "라울",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Charlie emerging from trash mound",
              "screen_zone": "upper_center",
              "target_id": "C03",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "emerging robot",
              "label": "Amber knocked back",
              "screen_zone": "lower_left",
              "target_id": "C02",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "emerging robot",
              "label": "Raul knocked back",
              "screen_zone": "lower_right",
              "target_id": "C05",
              "target_kind": "character"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "large sloped stage from which Charlie is revealed",
            "directionality_class": "non_directional",
            "element": "trash mound",
            "orientation": "",
            "state": "collapsing, smoky, packed with scrap"
          },
          {
            "camera_use": "foreground scale reference around the children",
            "directionality_class": "directional_3d",
            "element": "bent sheet-metal scraps",
            "orientation": "Jagged side edges face camera in the lower foreground, pointing diagonally toward Charlie.",
            "state": "rusted, sharp-looking, mud-caked"
          },
          {
            "camera_use": "atmospheric depth behind the reveal",
            "directionality_class": "non_directional",
            "element": "polluted coastal haze",
            "orientation": "",
            "state": "thick, gray, low visibility"
          }
        ],
        "lighting_mood": "Hard, dirty daylight leaks through smoke from above, catching Charlie's worn metal edges and leaving the children in darker foreground contrast.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 12,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera shifts slightly closer than the flow default, at Amber's chest height and only 3 feet away, wedged between Charlie's massive mechanical forearms and Amber's trapped upper body. Charlie's arms form a dark curved frame from both sides and occupy much of the image while Amber is compressed in the center, with the surrounding junkyard mostly cropped away.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "arms locked around Amber",
            "character": "찰리",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_right",
            "body_pose": "pinned in embrace",
            "character": "앰버",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C03",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Amber trapped inside embrace",
              "screen_zone": "middle_center",
              "target_id": "C02",
              "target_kind": "character"
            },
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Charlie's enclosing arms",
              "screen_zone": "middle_center",
              "target_id": "C03",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "minimal blurred texture beyond the embrace",
            "directionality_class": "non_directional",
            "element": "out-of-focus trash field",
            "orientation": "",
            "state": "gray-brown, smoky, almost fully cropped"
          },
          {
            "camera_use": "thin lower-frame reminder of the repair site",
            "directionality_class": "non_directional",
            "element": "oil-stained ground cloth",
            "orientation": "",
            "state": "dirty, wrinkled, barely visible"
          },
          {
            "camera_use": "faint industrial glint behind Charlie's arm gap",
            "directionality_class": "directional_3d",
            "element": "scattered metal fragments",
            "orientation": "Only small angled edges face camera through the narrow gaps between Charlie's arms.",
            "state": "rusted and blurred"
          }
        ],
        "lighting_mood": "A narrow band of gray daylight slips between Charlie's arms, lighting Amber's startled face while the robot limbs fall into heavy, protective shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 17,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Charlie is represented mainly by cropped mechanical arms in a close embrace rather than a full readable body or face.",
            "subject_id": "C03"
          }
        ]
      },
      {
        "camera_direction": "The shot begins from a still rear medium-long position behind Charlie at shoulder height, about 12 feet back on the trash-lot path, before the tracking move starts. His bulky longcoat and low-brimmed hat create a fat, anonymous silhouette in the center of the frame, while the dangerous youths remain soft and peripheral off to one side so the disguise is the only emphasized change.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "paused before walking",
            "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": "escape route leading toward the settlement",
            "directionality_class": "non_directional",
            "element": "trash-lot path",
            "orientation": "",
            "state": "muddy, uneven, littered"
          },
          {
            "camera_use": "side threat kept peripheral to the disguise reveal",
            "directionality_class": "non_directional",
            "element": "young men's gathering area",
            "orientation": "",
            "state": "blurred, smoky, off to the side"
          },
          {
            "camera_use": "distant destination and social pressure",
            "directionality_class": "directional_3d",
            "element": "refugee settlement outskirts",
            "orientation": "The ragged building backs and stacked shacks face camera in the far background.",
            "state": "hazy, crowded, weathered"
          }
        ],
        "lighting_mood": "Flat coastal haze turns the coat into a near-black silhouette, with faint rust and smoke colors bleeding around the path edges.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 8,
        "shot_index": 29,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From directly in front of the manager, the eye-level dolly-in lands at a tight frontal distance about 1 meter from his face, isolating his open mouth and the metal megaphone pressed close to it. The truck behind him is reduced to a dark, out-of-focus slab, while the megaphone's rim cuts across the lower right of his face without exceeding realistic prop scale.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "megaphone to mouth",
            "character": "대머리 한국계 중년 남성",
            "gaze_direction_kind": "camera",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "authoritarian prop pressed into the face close-up",
            "directionality_class": "directional_3d",
            "element": "metal megaphone",
            "orientation": "The cone is angled slightly toward camera, showing its dented side and dark mouth opening near the manager's lips.",
            "state": "scratched, malfunctioning, dull silver"
          },
          {
            "camera_use": "dark mass behind the announcement figure",
            "directionality_class": "directional_3d",
            "element": "military truck",
            "orientation": "The front side of the truck sits behind him, blurred and square to camera.",
            "state": "idling, muddy, oppressive"
          },
          {
            "camera_use": "distant industrial context behind the truck",
            "directionality_class": "directional_3d",
            "element": "cracked artificial seawall",
            "orientation": "The cracked wall face is barely visible behind the vehicle, turned toward camera through haze.",
            "state": "damaged, wet, under repair"
          }
        ],
        "lighting_mood": "Washed-out gray daylight is held low-key by the truck shadow, giving the manager's face a sickly green-gray cast and metallic highlights on the megaphone.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 9,
        "shot_index": 9,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Inside the tense semicircle, the handheld camera sits slightly lower and wider than shoulder height, off the manager's front-left side, about 2 meters from Miyeon. Miyeon cuts across the middle of the frame with both arms spread wide and mouth open, while the manager is blocked behind her line of action near the truck door, partially visible over her shoulder.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "arms spread blocking",
            "character": "미연",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C06",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "backing toward truck",
            "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": "Miyeon blocking path",
              "screen_zone": "middle_center",
              "target_id": "C04",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "manager blocked behind her",
              "screen_zone": "middle_right",
              "target_id": "C06",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "military truck door",
              "screen_zone": "upper_right",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "shared_space_relation"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "escape point for the manager and spatial anchor behind Miyeon",
            "directionality_class": "directional_3d",
            "element": "military truck door",
            "orientation": "The side door faces camera at a three-quarter angle behind the manager.",
            "state": "open or half-open, muddy"
          },
          {
            "camera_use": "unstable reflective foreground texture under the crowd",
            "directionality_class": "reflective_surface",
            "element": "mud puddles",
            "orientation": "The puddle surfaces reflect broken legs, truck underside, and gray sky in distorted fragments.",
            "state": "dirty, rippling from movement"
          },
          {
            "camera_use": "pressure line around the confrontation",
            "directionality_class": "non_directional",
            "element": "crowd semicircle",
            "orientation": "",
            "state": "compressed, agitated, partially cropped"
          }
        ],
        "lighting_mood": "Overcast daylight is broken by moving bodies and truck shadow, creating a nervous, handheld mix of gray skin tones, wet mud glints, and muted military green.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 9,
        "shot_index": 18,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At knee height on the muddy ground, the handheld camera holds a low full-body composition about 2 meters from the fallen refugee man, angled slightly downward along his body toward the ring of surrounding feet. His face is completely pressed into the mud in the lower center, his body stretched diagonally across the frame, while boots and trouser legs form a threatening upper-edge border without showing graphic injury.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "lying face-down in mud",
            "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": "fallen refugee man",
              "screen_zone": "lower_center",
              "target_id": "C13",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "surrounding feet and boots",
              "screen_zone": "upper_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "primary physical surface swallowing the man's face and body",
            "directionality_class": "non_directional",
            "element": "muddy ground",
            "orientation": "",
            "state": "wet, churned, dark brown"
          },
          {
            "camera_use": "oppressive border suggesting crowd pressure",
            "directionality_class": "directional_3d",
            "element": "surrounding boots and legs",
            "orientation": "Boot fronts and trouser legs face inward toward the fallen man, cropped at shin level.",
            "state": "mud-splashed, tense, shifting"
          },
          {
            "camera_use": "distant reminder of why the conflict matters",
            "directionality_class": "directional_3d",
            "element": "cracked seawall base",
            "orientation": "The damaged wall base runs across the far background, its cracked face angled toward camera.",
            "state": "wet, fractured, neglected"
          }
        ],
        "lighting_mood": "Dim gray daylight reflects off the mud in cold highlights, keeping the image grim and grounded rather than graphic.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 9,
        "shot_index": 20,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the tribunal room entrance on the center axis, the camera holds eye level in a slightly wide frontal composition before the later dolly begins. Hyunwoo is centered in the midground with his head bowed and both arms gripped tightly by policemen on either side; the judge's rough table sits deeper in the darkness, allowing the worn room to breathe around the restrained figure.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "arms restrained limp",
            "character": "현우",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_right",
            "body_pose": "gripping left arm",
            "character": "경찰",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "angle": "three_quarter_left",
            "body_pose": "holding right elbow",
            "character": "경찰",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "dark entry-side framing and symmetrical axis",
            "directionality_class": "directional_3d",
            "element": "tribunal room doorway",
            "orientation": "The inner doorway edges frame the shot from the camera side, facing inward toward Hyunwoo.",
            "state": "open, chipped, grimy"
          },
          {
            "camera_use": "deep-background authority anchor",
            "directionality_class": "directional_3d",
            "element": "rough judge's table",
            "orientation": "The front face of the table is visible beyond Hyunwoo on the center axis.",
            "state": "scratched, cluttered, dimly lit"
          },
          {
            "camera_use": "worn social texture of the room",
            "directionality_class": "non_directional",
            "element": "stained tribunal walls",
            "orientation": "",
            "state": "cracked, damp, poorly maintained"
          }
        ],
        "lighting_mood": "Low practical daylight leaks through the shabby room, leaving Hyunwoo and the police in a muted brown-gray gloom with hard shadows under his bowed face.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 1,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the flow’s low floor-side position, the camera presses even closer to the overturned judge’s torso, framing Hyunwoo’s overlapping hands and the twisted collar at the center while the judge’s chest forms the lower plane of the image. The angle is a cramped low close observation with slight handheld drag, Hyunwoo’s upper body cutting diagonally from upper left into the middle, and the tribunal table legs blurred in the rear right.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "straddling judge's torso",
            "character": "현우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C07",
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "pinned flat on floor",
            "character": "재판관",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Blurred background geometry behind the grapple, giving a sense of the overturned authority space.",
            "directionality_class": "directional_3d",
            "element": "shabby tribunal table legs",
            "orientation": "The side faces and undersides of the legs angle away from camera behind the bodies.",
            "state": "scuffed, unstable, partly obscured"
          },
          {
            "camera_use": "Dirty texture directly under the judge and Hyunwoo, emphasizing the fall to the ground.",
            "directionality_class": "non_directional",
            "element": "tribunal floor",
            "orientation": "",
            "state": "grimy, stained, cold-looking"
          },
          {
            "camera_use": "Compression element behind Hyunwoo’s shoulders, suggesting the cramped courtroom corner.",
            "directionality_class": "directional_3d",
            "element": "overturned chair edge",
            "orientation": "One broken side rail faces the camera at a diagonal in the background.",
            "state": "fallen, scraped"
          }
        ],
        "lighting_mood": "Low-key fluorescent spill and dirty green-gray practical light flatten the room into a grim, bureaucratic panic.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 11,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera completes the flow’s collapse to true floor level beside Hyunwoo’s face, angled slightly across the filthy surface so his closed eye and cheek pressed into the floor occupy the foreground left. The background falls away toward the tribunal table legs in soft focus, with the frame held nearly motionless after the downward tilt.",
        "character_angles": [
          {
            "angle": "profile_right",
            "body_pose": "cheek pressed to floor",
            "character": "현우",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "unconscious"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Hyunwoo unconscious face",
              "screen_zone": "lower_left",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Extreme foreground texture around Hyunwoo’s cheek and eyelashes.",
            "directionality_class": "non_directional",
            "element": "dirty tribunal floor dust",
            "orientation": "",
            "state": "gritty, smeared, damp-looking"
          },
          {
            "camera_use": "Soft background depth marker beyond Hyunwoo’s head.",
            "directionality_class": "directional_3d",
            "element": "tribunal table legs",
            "orientation": "The legs recede diagonally from the camera toward the rear of the room.",
            "state": "blurred, worn, still"
          },
          {
            "camera_use": "Small practical detail catching the low light near the floor line.",
            "directionality_class": "non_directional",
            "element": "scattered paper scraps",
            "orientation": "",
            "state": "creased, dirty, out of focus"
          }
        ],
        "lighting_mood": "A sickly overhead fluorescent wash skims the floor, leaving Hyunwoo’s face half-muted in shadow and gray-green fatigue.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 10,
        "shot_index": 13,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "Within the dream flow, the camera holds low and frontal at Miyeon’s seated eye level, close enough that her clenched eyelids sit in the center while Hyunwoo and Amber’s bowed backs curve under her arms across the lower frame. The composition feels like a stuttering freeze-frame: direct frontal pressure on Miyeon, shallow depth, black-and-white alley figures reduced to broken silhouettes behind her.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "clutching two children",
            "character": "미연",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "curled under arm",
            "character": "현우",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "back_to_camera",
            "body_pose": "hunched under arm",
            "character": "앰버",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": null,
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Dark alley depth behind the family, broken into high-contrast dream silhouettes.",
            "directionality_class": "directional_3d",
            "element": "urban back-alley walls",
            "orientation": "The converging wall planes face inward toward the family and recede behind them.",
            "state": "blackened, grimy, indistinct"
          },
          {
            "camera_use": "Ground plane under the kneeling group, anchoring the frozen huddle.",
            "directionality_class": "non_directional",
            "element": "rough alley pavement",
            "orientation": "",
            "state": "wet-looking, grainy, monochrome"
          },
          {
            "camera_use": "Out-of-focus shapes that imply other kneeling people without pulling focus from Miyeon.",
            "directionality_class": "non_directional",
            "element": "shadowed kneeling crowd shapes",
            "orientation": "",
            "state": "blurred, trembling, fragmented by dream cuts"
          }
        ],
        "lighting_mood": "Harsh monochrome contrast, intermittent muzzle-flash-like flicker, and crushed blacks make the image feel like a damaged nightmare rather than stable memory.",
        "perception_mode": "dream",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 4,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The dream flashback shows Hyunwoo as a child from the back, so an adult outlook reference would mislead the image generation.",
            "subject_id": "C01"
          },
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Amber appears as a child huddled under Miyeon’s arm, with her face mostly hidden; base identity is enough without an outlook-specific reference.",
            "subject_id": "C02"
          }
        ]
      },
      {
        "camera_direction": "Following the lateral reveal from Miyeon, the camera locks into a rigid side-on profile beside the masked man at chest height, with his extended arm and handgun forming a clean horizontal line toward Miyeon’s forehead. Miyeon remains lower on the opposite side of the frame, compressed into the gun’s direction, while the alley background flattens into black-and-white vertical bands.",
        "character_angles": [
          {
            "angle": "profile_left",
            "body_pose": "arm locked forward",
            "character": "복면을 쓴 백인 남성",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C04",
            "subject_state": "alive"
          },
          {
            "angle": "profile_right",
            "body_pose": "kneeling frozen back",
            "character": "미연",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "points_to",
              "gesture_target_label": "Miyeon's forehead",
              "label": "masked man aiming arm",
              "screen_zone": "middle_right",
              "target_id": "C14",
              "target_kind": "character"
            },
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Miyeon kneeling in line of aim",
              "screen_zone": "middle_left",
              "target_id": "C04",
              "target_kind": "character"
            }
          ],
          "reason": "points_to_anchor"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Hard vertical background that turns the side profile into a trapped graphic line.",
            "directionality_class": "directional_3d",
            "element": "alley wall plane",
            "orientation": "A flat side wall faces the camera obliquely behind both figures.",
            "state": "dark, stained, high-contrast"
          },
          {
            "camera_use": "Small but essential threat line between the two figures.",
            "directionality_class": "directional_3d",
            "element": "handgun barrel",
            "orientation": "The barrel points leftward across the frame toward Miyeon rather than toward camera.",
            "state": "held steady, dark metal, sharp silhouette"
          },
          {
            "camera_use": "Broken monochrome texture under Miyeon’s knees.",
            "directionality_class": "non_directional",
            "element": "alley pavement",
            "orientation": "",
            "state": "grainy, wet, flickering"
          }
        ],
        "lighting_mood": "Black-and-white lighting is frozen into hard side silhouettes, with brief white flicker catching the gun edge and Miyeon’s forehead line.",
        "perception_mode": "dream",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 11,
        "shot_index": 5,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera holds the flow’s locked-off wide street-level view about twenty meters from the old tribunal, eye-height and facing the façade across a ruined foreground of trash mounds. No people enter; the building sits in the upper middle distance while the garbage heaps occupy the lower half in uneven dark silhouettes, making the exterior feel abandoned before the approach begins.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Primary architectural anchor in the background, establishing where Hyunwoo has been dumped outside.",
            "directionality_class": "directional_3d",
            "element": "old refugee tribunal facade",
            "orientation": "The worn front façade faces the camera directly across the trash-strewn street.",
            "state": "dark, weathered, mostly unlit"
          },
          {
            "camera_use": "Foreground and midground obstruction, creating a hostile empty landscape.",
            "directionality_class": "non_directional",
            "element": "massive trash heaps",
            "orientation": "",
            "state": "piled high, torn, damp, motionless"
          },
          {
            "camera_use": "Atmospheric layer that softens the building and street edges.",
            "directionality_class": "non_directional",
            "element": "polluted coastal night haze",
            "orientation": "",
            "state": "thick, static, gray-black"
          },
          {
            "camera_use": "Small practical points that barely outline the abandoned exterior.",
            "directionality_class": "directional_3d",
            "element": "broken street fixtures",
            "orientation": "Bent fixture heads angle downward toward the trash and away from the building.",
            "state": "dim or dead, corroded"
          }
        ],
        "lighting_mood": "Sparse sodium and cold blue-gray spill barely separate the tribunal wall from the trash, leaving the frame muted, empty, and nocturnal.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 2,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From directly above the opened leather wallet, the camera tightens to an extreme insert so the judge identification card sits centered in the inner slot, its official face photo unmistakable but still bordered by wallet leather and a sliver of dirty ground. The card occupies just under half the frame, with the wallet’s opened halves forming a dark V-shaped frame around it.",
        "character_angles": [
          {
            "angle": "facing_camera",
            "body_pose": "ID photo headshot",
            "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": "judge identification card inside wallet",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "insert",
        "key_bg_elements": [
          {
            "camera_use": "Main reveal object, carrying the readable identity clue after the nightmare.",
            "directionality_class": "content_surface",
            "element": "judge identification card",
            "orientation": "The printed front face is visible to camera, showing an official ID layout with a clear face photo and text blocks.",
            "state": "inserted in wallet slot, legible, slightly worn"
          },
          {
            "camera_use": "Dark border around the ID card, guiding the eye inward.",
            "directionality_class": "directional_3d",
            "element": "opened leather wallet",
            "orientation": "The inner card-slot side faces upward toward the camera, with both halves spread open.",
            "state": "creased, old, held open"
          },
          {
            "camera_use": "Scale and reality texture around the wallet edges.",
            "directionality_class": "non_directional",
            "element": "trash-stained ground",
            "orientation": "",
            "state": "dirty, gritty, dimly lit"
          }
        ],
        "lighting_mood": "A narrow cold practical highlight catches the laminated card while the wallet leather and surrounding ground fall into dirty night shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 12,
        "shot_index": 7,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "The character appears only as an official ID photograph, so a full outlook-specific identity reference is unnecessary and may over-constrain the insert.",
            "subject_id": "C07"
          }
        ]
      },
      {
        "camera_direction": "The camera stays very low over the tabletop from Jang Gyu-seok’s side, pushed tighter than the flow default so only the paper envelope and the two competing hands define the frame. Jang’s gripping fingers enter from the upper side of the envelope while Hyunwoo’s hand overlaps from the lower right, stopping the motion in a tense close compression.",
        "character_angles": [
          {
            "angle": "looking_away",
            "body_pose": "hand clamping envelope",
            "character": "장규석",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          },
          {
            "angle": "looking_away",
            "body_pose": "hand pressing envelope",
            "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": "Central tactile conflict point between the two characters’ hands.",
            "directionality_class": "content_surface",
            "element": "paper money envelope",
            "orientation": "The envelope’s blank outer face is visible upward, creased under both hands without showing its contents.",
            "state": "creased, trapped, slightly bent"
          },
          {
            "camera_use": "Low horizontal plane that keeps the negotiation physically grounded.",
            "directionality_class": "directional_3d",
            "element": "greasy restaurant tabletop",
            "orientation": "The tabletop surface lies flat toward the camera, receding shallowly behind the envelope.",
            "state": "scratched, sticky, dim"
          },
          {
            "camera_use": "Soft background color and texture beyond the tight hand struggle.",
            "directionality_class": "non_directional",
            "element": "out-of-focus cheap restaurant clutter",
            "orientation": "",
            "state": "muted, worn, indistinct"
          }
        ],
        "lighting_mood": "A weak yellow practical from above creates oily highlights on the tabletop and hard shadows between the overlapping fingers.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 4,
        "subject_reference_policy": [
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only Jang Gyu-seok’s hand is visible in this tight money-envelope close-up; a full outlook reference cannot align with the framing.",
            "subject_id": "C09"
          },
          {
            "policy": "base_id_required",
            "policy_type": "identity_reference",
            "reason": "Only Hyunwoo’s hand and wrist are visible, so base identity is sufficient and safer than an outlook-specific reference.",
            "subject_id": "C01"
          }
        ]
      },
      {
        "camera_direction": "The camera completes the upward tilt into Hyunwoo’s eye-level close-up across the table and then holds nearly still, less than a meter from his face. His clenched jaw and focused eyes occupy the center-right of frame, while the tabletop edge drops out of attention below and the restaurant background compresses into a dirty blur.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "leaning over table",
            "character": "현우",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C09",
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Hyunwoo isolated angry face",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Blurred lower frame remnant from the money struggle, connecting the face to the negotiation.",
            "directionality_class": "directional_3d",
            "element": "tabletop edge",
            "orientation": "The near edge runs horizontally along the lower frame, mostly out of focus.",
            "state": "worn, greasy, dark"
          },
          {
            "camera_use": "Compressed background texture behind Hyunwoo’s head.",
            "directionality_class": "directional_3d",
            "element": "restaurant wall panels",
            "orientation": "Flat wall sections face the camera behind him at a shallow angle.",
            "state": "stained, yellowed, dim"
          },
          {
            "camera_use": "Small practical source motivating the warm low light.",
            "directionality_class": "directional_3d",
            "element": "cheap hanging lamp",
            "orientation": "The underside of the lamp is angled down toward the table, mostly outside sharp focus.",
            "state": "on, weak, flickering"
          }
        ],
        "lighting_mood": "Warm but sickly practical light carves Hyunwoo’s eyes and teeth while the background sinks into brown-green restaurant grime.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 13,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From just inside the main iron gate at shoulder height, the handheld camera faces the narrowing gap so Hyunwoo’s diagonal body line fills the opening as he wedges one shoulder and one foot through. The two gate panels frame him as dark vertical slabs on left and right, with his body in the middle distance driving toward the camera’s side of the threshold.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "shoulder wedged through gate",
            "character": "현우",
            "gaze_direction_kind": "off_screen",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "moves_toward",
              "gesture_target_label": "inside the camp",
              "label": "Hyunwoo squeezing through gate",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "narrow gate gap",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "movement_direction"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Primary physical frame and source of pressure around Hyunwoo’s body.",
            "directionality_class": "directional_3d",
            "element": "closing iron gate panels",
            "orientation": "The inner edges of both panels face the camera as vertical dark planes, leaving only a thin central gap.",
            "state": "closing, rusted, heavy"
          },
          {
            "camera_use": "Depth beyond the threshold, hinting at the camp interior he is trying to reach.",
            "directionality_class": "directional_3d",
            "element": "container camp entry lane",
            "orientation": "The lane recedes away behind the gate gap into darkness.",
            "state": "dim, crowded, wet-looking"
          },
          {
            "camera_use": "Practical industrial texture surrounding the entry.",
            "directionality_class": "non_directional",
            "element": "corroded metal threshold",
            "orientation": "",
            "state": "scraped, damp, grimy"
          }
        ],
        "lighting_mood": "Curfew darkness crushes the edges of the gate, with a thin cold spill from the camp interior catching Hyunwoo’s shoulder and shoe.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 4,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "The camera stops directly behind Hyunwoo at eye level about two and a half meters away, holding a rigid centered frame on the old metal container door beyond him. Hyunwoo’s back occupies the lower center while the large painted number 7-31 sits clearly above and ahead, turning the pause at the handle into a quiet threshold image.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "hand hovering near handle",
            "character": "현우",
            "gaze_direction_kind": "up",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Hyunwoo before door",
              "screen_zone": "lower_center",
              "target_id": "C01",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "large 7-31 door number",
              "screen_zone": "upper_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Main background anchor, readable behind Hyunwoo’s back.",
            "directionality_class": "content_surface",
            "element": "container door number 7-31",
            "orientation": "The camera sees the exterior face of the metal door with the large painted number 7-31 facing outward.",
            "state": "paint chipped, dirty, clearly readable"
          },
          {
            "camera_use": "Physical threshold detail near Hyunwoo’s hand.",
            "directionality_class": "directional_3d",
            "element": "rusted door handle",
            "orientation": "The handle protrudes toward Hyunwoo and slightly toward camera from the right side of the door.",
            "state": "still, worn, cold metal"
          },
          {
            "camera_use": "Narrow industrial corridor enclosing the pause.",
            "directionality_class": "directional_3d",
            "element": "container alley walls",
            "orientation": "Parallel container sides recede behind the camera position and frame the door frontally.",
            "state": "dark, corrugated, weathered"
          },
          {
            "camera_use": "Residual curfew atmosphere over the doorway.",
            "directionality_class": "non_directional",
            "element": "night haze and damp air",
            "orientation": "",
            "state": "heavy, muted, nearly still"
          }
        ],
        "lighting_mood": "Most camp lights are dead, leaving only a faint blue-gray spill and soft metal reflections around the number and Hyunwoo’s shoulders.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 14,
        "shot_index": 6,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "From the container’s entrance-side axis at chest height, the camera holds a wider-than-default wide frame, looking back through the cramped interior toward the doorway line where 현우 is caught full-body in the narrow passage. He sits slightly right of center with rusted walls squeezing both sides of him, his dirt- and blood-marked limbs readable while the dining table recedes dimly behind him; the view is direct, neutral observer, with a faint handheld tension but no independent angle change from the flow.",
        "character_angles": [
          {
            "angle": "three_quarter_right",
            "body_pose": "rigid threshold halt",
            "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": "Frames 현우 within the cramped entry axis and gives the shot its boxed-in geometry.",
            "directionality_class": "directional_3d",
            "element": "open container entrance",
            "orientation": "The interior-facing edge and dark doorway depth angle toward camera, emphasizing the narrow threshold he has just crossed.",
            "state": "open, grimy, rust-streaked"
          },
          {
            "camera_use": "Creates hard vertical compression around the full-body figure.",
            "directionality_class": "directional_3d",
            "element": "corrugated metal container walls",
            "orientation": "Both side walls face the camera obliquely, their ribbed inner surfaces closing in around the passage.",
            "state": "rusted, dented, soot-dirty"
          },
          {
            "camera_use": "Small distant practical source and domestic anchor behind the tension.",
            "directionality_class": "directional_3d",
            "element": "small dining table with candle",
            "orientation": "The table’s front edge is barely visible in depth behind 현우, with the candle sitting low on its surface.",
            "state": "worn, cluttered, candle lit"
          }
        ],
        "lighting_mood": "Low-key candle spill and polluted blue-black doorway shadow carve his dusty body with muted amber edges and dirty green-gray darkness.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 3,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "On the table side opposite 현우, the dolly-in reaches its closest end point at standing eye level, compressing the container wall and table clutter until his face, open mouth, and taut neck occupy most of the close frame. The camera stays direct and observational, slightly off his eyeline so his rage fires past the lens toward 미연 rather than into it; a blurred table edge cuts the lower foreground without taking over the frame.",
        "character_angles": [
          {
            "angle": "three_quarter_left",
            "body_pose": "neck thrust forward",
            "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": "Hyunwoo isolated in rage close-up",
              "screen_zone": "middle_center",
              "target_id": "C01",
              "target_kind": "character"
            }
          ],
          "reason": "primary_subject_isolation"
        },
        "framing_scale": "close",
        "key_bg_elements": [
          {
            "camera_use": "Soft foreground edge that ties the close-up to the family table without distracting from the face.",
            "directionality_class": "directional_3d",
            "element": "worn dining table edge",
            "orientation": "Only the near table lip and a sliver of surface angle across the lower frame, heavily out of focus.",
            "state": "scratched, cluttered, dim"
          },
          {
            "camera_use": "Practical flame source that catches the underside of his jaw and neck veins.",
            "directionality_class": "non_directional",
            "element": "table candle flame",
            "orientation": "",
            "state": "lit, flickering low"
          },
          {
            "camera_use": "Compressed background texture behind his head, intensifying confinement.",
            "directionality_class": "directional_3d",
            "element": "corrugated container wall",
            "orientation": "The wall’s inner ribbed face is flattened behind him by the close lens distance.",
            "state": "rust-stained, dark, worn"
          }
        ],
        "lighting_mood": "A harsh, flickering candle underglow warms his mouth and throat while the rest of the frame falls into cold, oily shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 13,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "After the hard cut, the camera is static inside the small dark room at child height, about three feet from the closed bedroom door, looking over and slightly behind 앰버. In a medium frame she is locked low in the lower center with her ear pressed to the door, while the shut door forms the dark background plane; the direct view feels hushed and trapped, with no movement after the cut.",
        "character_angles": [
          {
            "angle": "back_to_camera",
            "body_pose": "ear pressed to door",
            "character": "앰버",
            "gaze_direction_kind": "closed_eyes",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "frame_spatial_contract": {
          "constraints": [
            {
              "depth_plane": "foreground",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "Amber listening in stillness",
              "screen_zone": "lower_center",
              "target_id": "C02",
              "target_kind": "character"
            },
            {
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": "",
              "label": "closed bedroom door",
              "screen_zone": "middle_center",
              "target_id": "",
              "target_kind": "background"
            }
          ],
          "reason": "required_background_position"
        },
        "framing_scale": "medium",
        "key_bg_elements": [
          {
            "camera_use": "Primary background wall of the composition and the physical barrier she listens through.",
            "directionality_class": "directional_3d",
            "element": "closed bedroom door",
            "orientation": "The interior face of the door is square to camera behind 앰버, its flat dark panel pressing visually toward her back.",
            "state": "shut tight, dirty, unpainted edges worn"
          },
          {
            "camera_use": "Thin line of exterior sound and light, emphasizing that the fight is just outside.",
            "directionality_class": "transparent_surface",
            "element": "narrow gap under the door",
            "orientation": "A floor-level slit is visible below the door, with faint warm light leaking through from the container room beyond.",
            "state": "thin, dusty, barely glowing"
          },
          {
            "camera_use": "Adds tactile darkness around the child-height view.",
            "directionality_class": "directional_3d",
            "element": "small room metal wall",
            "orientation": "The side wall’s inner ribbed face catches almost no light at the frame edges.",
            "state": "dark, cold, scuffed"
          }
        ],
        "lighting_mood": "Nearly black interior light is broken only by a thin amber spill under the door, leaving 앰버 as a soft child-sized silhouette against rusted shadow.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 15,
        "shot_index": 16,
        "subject_reference_policy": []
      },
      {
        "camera_direction": "At the mouth of the refugee-camp alley, the camera holds a locked wide tableau at eye level, centered on the narrow passage between tightly packed rusted steel containers before any forward movement begins. No figures break the frame; the empty corridor runs from the lower center into a pitch-black vanishing point, with container walls stacking left and right like industrial cliffs in a direct neutral observation.",
        "character_angles": [],
        "frame_spatial_contract": null,
        "framing_scale": "wide",
        "key_bg_elements": [
          {
            "camera_use": "Forms the oppressive corridor walls and establishes the camp’s industrial density.",
            "directionality_class": "directional_3d",
            "element": "rows of rusted steel containers",
            "orientation": "Their long side faces angle inward toward the alley centerline, creating a tunnel-like perspective into darkness.",
            "state": "packed tightly, rusted, dented, weather-beaten"
          },
          {
            "camera_use": "Primary negative space and focal void of the establishing frame.",
            "directionality_class": "non_directional",
            "element": "empty refugee-camp alley",
            "orientation": "",
            "state": "deserted, pitch-black, no visible pedestrians"
          },
          {
            "camera_use": "Reinforces the absence of street lighting and adds dirty coastal texture near the ground.",
            "directionality_class": "reflective_surface",
            "element": "muddy puddles on the alley floor",
            "orientation": "Their dull surfaces reflect only broken container edges and faint sky haze, not any lamp glow.",
            "state": "shallow, oily, barely reflective"
          },
          {
            "camera_use": "Softens distance and makes the black passage feel polluted rather than cleanly dark.",
            "directionality_class": "non_directional",
            "element": "coastal industrial haze",
            "orientation": "",
            "state": "thick, dirty, low-contrast"
          }
        ],
        "lighting_mood": "The palette is nearly monochrome blue-black and rust brown, lit only by far-off ambient haze with no streetlamp relief.",
        "perception_mode": "direct",
        "perspective": "observer",
        "pov_character": "",
        "scene_index": 16,
        "shot_index": 1,
        "subject_reference_policy": []
      }
    ],
    "total": 34,
    "failed_batches": 0
  },
  "step_id": "shot_staging",
  "run_id": "c74d463c-49c0-45ec-95a3-ea87a22d26b2",
  "resolved_model": "gpt",
  "updated_at": "2026-06-25T06:57:49.326655+00:00",
  "schema_version": 6,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}