{
  "status": "completed",
  "completed_count": 6,
  "applicable_count": 6,
  "failed_count": 0,
  "data": {
    "shots": [
      {
        "scene_index": 1,
        "shot_index": 4,
        "framing_scale": "medium",
        "perspective": "observer",
        "pov_character": "",
        "perception_mode": "direct",
        "camera_direction": "From knee height beside the front end of the aisle, the camera finishes its dolly-in at a three-quarter angle to 정임, placing her crouched figure in the right midground and the chained fare box in the lower-left foreground. Her shoulders fold toward the box and her gaze remains fixed downward, while the three round gauges and the aisle behind her preserve the bus interior without distracting from the impending tilt into the box.",
        "lighting_mood": "Restrained evening ambient light with muted navy, aged beige, subdued neutrals, moderate contrast, and subtle film grain.",
        "character_angles": [
          {
            "character": "정임",
            "angle": "three_quarter_left",
            "body_pose": "settling into deep crouch",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "key_bg_elements": [
          {
            "element": "쇠사슬에 묶인 요금통",
            "state": "기둥에 묶인 채 정임 바로 앞에 놓여 있음",
            "orientation": "Its upper opening angles partly toward the camera while its chained side faces the aisle.",
            "camera_use": "Lower-left foreground anchor leading the eye beneath 정임's lowered eyeline.",
            "directionality_class": "directional_3d"
          },
          {
            "element": "둥근 아날로그 계기 세 개",
            "state": "운전석 옆 계기판에 나란히 붙어 있음",
            "orientation": "The three gauge faces are visible above the fare box; their markings face into the bus interior.",
            "camera_use": "Upper background marker connecting the fare box to the driver's area.",
            "directionality_class": "content_surface"
          },
          {
            "element": "고무 매트가 깔린 통로",
            "state": "통로 바닥에 깔려 있음",
            "orientation": "",
            "camera_use": "Receding background line behind 정임 that reinforces the low camera position.",
            "directionality_class": "non_directional"
          },
          {
            "element": "낡은 비닐 좌석 커버",
            "state": "각 좌석 등받이에 씌워져 있음",
            "orientation": "Seat backs turn in alternating oblique planes along both sides of the aisle.",
            "camera_use": "Soft peripheral enclosure around the central search area.",
            "directionality_class": "directional_3d"
          }
        ],
        "frame_spatial_contract": null,
        "subject_reference_policy": []
      },
      {
        "scene_index": 1,
        "shot_index": 7,
        "framing_scale": "wide",
        "perspective": "observer",
        "pov_character": "",
        "perception_mode": "direct",
        "camera_direction": "At knee height beside the fare box, the settled pan holds an oblique two-plane composition: 정임 occupies the lower-left foreground in a crouch, shoulders twisted toward the front doorway, while 기사 최씨 remains higher in the right background with one foot on the step and a gloved hand braced on the frame. The slightly widened view preserves the steep rise of 정임's eyeline to 기사 최씨 and his answering look down toward her, with the fare box between their spatial levels.",
        "lighting_mood": "Restrained evening ambient light maintains muted navy and subdued neutral tones with moderate contrast and tactile film grain.",
        "character_angles": [
          {
            "character": "정임",
            "angle": "three_quarter_right",
            "body_pose": "crouched with shoulders twisted",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          },
          {
            "character": "기사 최씨",
            "angle": "three_quarter_left",
            "body_pose": "one foot on step",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "key_bg_elements": [
          {
            "element": "앞문과 계단",
            "state": "기사 최씨가 계단에 한 발을 올리고 문틀을 짚고 있음",
            "orientation": "The doorway is seen diagonally from inside, with its stepped approach receding behind 기사 최씨.",
            "camera_use": "Background elevation anchor that establishes the vertical separation between the two characters.",
            "directionality_class": "directional_3d"
          },
          {
            "element": "쇠사슬에 묶인 요금통",
            "state": "기둥에 묶인 채 정임 앞에 있음",
            "orientation": "Its chained side and part of its upper opening are visible between the characters.",
            "camera_use": "Lower-frame relational anchor linking 정임's interrupted search to the exchange.",
            "directionality_class": "directional_3d"
          },
          {
            "element": "둥근 아날로그 계기 세 개",
            "state": "운전석 옆 계기판에 나란히 붙어 있음",
            "orientation": "The gauge faces remain partly visible above the fare box, facing the bus interior.",
            "camera_use": "Compact background context for the front section of the bus.",
            "directionality_class": "content_surface"
          }
        ],
        "frame_spatial_contract": {
          "reason": "shared_space_relation",
          "constraints": [
            {
              "target_kind": "character",
              "target_id": "C01",
              "label": "정임",
              "screen_zone": "lower_left",
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "기사 최씨 at the front doorway"
            },
            {
              "target_kind": "character",
              "target_id": "C02",
              "label": "기사 최씨",
              "screen_zone": "middle_right",
              "depth_plane": "background",
              "gesture_action": "looks_toward",
              "gesture_target_label": "정임 beside the fare box"
            },
            {
              "target_kind": "background",
              "target_id": "",
              "label": "front doorway and steps",
              "screen_zone": "middle_right",
              "depth_plane": "background",
              "gesture_action": "none",
              "gesture_target_label": ""
            }
          ]
        },
        "subject_reference_policy": []
      },
      {
        "scene_index": 2,
        "shot_index": 1,
        "framing_scale": "wide",
        "perspective": "observer",
        "pov_character": "",
        "perception_mode": "direct",
        "camera_direction": "From knee height just inside the rear doorway, the camera moves forward several paces behind and slightly beside 정임, looking obliquely along the aisle as the uncovered floor extends toward the front. 정임 occupies the center-left midground, gripping a handhold and hinging her upper body between the seats to inspect the floor, while the newly replaced seat covers form staggered planes on both sides rather than a symmetrical corridor.",
        "lighting_mood": "Natural evening ambient light appropriate to the bus interior, rendered in muted navy, aged beige, and subdued neutral tones with restrained brightness and fine grain.",
        "character_angles": [
          {
            "character": "정임",
            "angle": "back_to_camera",
            "body_pose": "bent gripping a handhold",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "key_bg_elements": [
          {
            "element": "맨바닥이 드러난 통로",
            "state": "통로 매트가 깔리지 않아 바닥이 드러나 있음",
            "orientation": "",
            "camera_use": "Central receding line that makes the empty search area legible from the low rear position.",
            "directionality_class": "non_directional"
          },
          {
            "element": "새 좌석 커버",
            "state": "좌석마다 새것으로 교체되어 있음",
            "orientation": "Successive seat backs show alternating side and rear planes along the oblique aisle view.",
            "camera_use": "Staggered side framing around 정임 and visual contrast with the first bus.",
            "directionality_class": "directional_3d"
          },
          {
            "element": "뒷문 입구",
            "state": "정임이 올라온 뒤 카메라가 바로 안쪽에 위치함",
            "orientation": "The inner edges of the rear doorway sit near the frame margins behind the camera position.",
            "camera_use": "Entry-point context and low-depth origin for the forward movement.",
            "directionality_class": "directional_3d"
          }
        ],
        "frame_spatial_contract": null,
        "subject_reference_policy": []
      },
      {
        "scene_index": 2,
        "shot_index": 4,
        "framing_scale": "medium",
        "perspective": "observer",
        "pov_character": "",
        "perception_mode": "direct",
        "camera_direction": "At chest height inside the bus, the completed lateral pan holds a diagonal view through the side window, placing 기사 최씨 outside in the center-right midground with one hand raised toward 정임. 정임 is retained only as an interior over-shoulder figure at the lower-left edge, her attention crossing the window plane toward him, while the oblique glass boundary keeps their separation clear without turning the image into her subjective POV.",
        "lighting_mood": "Natural evening ambient light distinguishes the interior and exterior with restrained brightness, subdued neutrals, moderate contrast, and subtle analog grain.",
        "character_angles": [
          {
            "character": "기사 최씨",
            "angle": "three_quarter_right",
            "body_pose": "one hand held high",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          },
          {
            "character": "정임",
            "angle": "over_shoulder",
            "body_pose": "paused mid-turn toward window",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          }
        ],
        "key_bg_elements": [
          {
            "element": "옆 유리창",
            "state": "기사 최씨와 정임 사이에 놓여 있음",
            "orientation": "The camera looks diagonally through the window surface toward 기사 최씨 outside, with 정임 remaining on the interior side.",
            "camera_use": "Transparent separator and compositional plane between the characters.",
            "directionality_class": "transparent_surface"
          },
          {
            "element": "시외버스 2호차 좌석",
            "state": "새 좌석 커버가 씌워져 있음",
            "orientation": "A nearby seat back presents its oblique interior side at the left edge.",
            "camera_use": "Interior scale reference that confirms the camera remains inside the bus.",
            "directionality_class": "directional_3d"
          }
        ],
        "frame_spatial_contract": {
          "reason": "shared_space_relation",
          "constraints": [
            {
              "target_kind": "character",
              "target_id": "C01",
              "label": "정임",
              "screen_zone": "lower_left",
              "depth_plane": "foreground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "기사 최씨 beyond the side window"
            },
            {
              "target_kind": "character",
              "target_id": "C02",
              "label": "기사 최씨",
              "screen_zone": "middle_right",
              "depth_plane": "midground",
              "gesture_action": "looks_toward",
              "gesture_target_label": "정임 inside the bus"
            },
            {
              "target_kind": "background",
              "target_id": "",
              "label": "side window plane",
              "screen_zone": "middle_center",
              "depth_plane": "midground",
              "gesture_action": "none",
              "gesture_target_label": ""
            }
          ]
        },
        "subject_reference_policy": []
      },
      {
        "scene_index": 3,
        "shot_index": 4,
        "framing_scale": "insert",
        "perspective": "observer",
        "pov_character": "",
        "perception_mode": "direct",
        "camera_direction": "From just above and to the aisle side of 정임's hands, a static steep oblique view isolates her open palm in the center-lower portion of the frame, with the rubber-banded ticket bundle resting naturally across it. Her other index finger touches the counted edge of the folded-cover bundle; portions of her sleeves and the aisle-side seat base remain at the margins as scale references, and the tickets stay well below forty percent of the frame.",
        "lighting_mood": "Low-key ambient exposure appropriate to the nighttime bus interior uses muted navy, aged beige, subdued paper tones, moderate contrast, and tactile film grain.",
        "character_angles": [
          {
            "character": "정임",
            "angle": "looking_away",
            "body_pose": "open palm under tickets",
            "gaze_direction_kind": "down",
            "gaze_target_id": null,
            "subject_state": "alive"
          }
        ],
        "key_bg_elements": [
          {
            "element": "회수권 뭉치",
            "state": "표지가 접혀 있고 고무줄로 묶인 채 펼친 손바닥 위에 놓여 있음",
            "orientation": "The folded cover and layered ticket edges face upward toward the camera while 정임's index finger marks the count.",
            "camera_use": "Central insert subject, framed together with both hands and sleeve edges for physical scale.",
            "directionality_class": "content_surface"
          },
          {
            "element": "좌석 아래쪽",
            "state": "정임이 회수권 뭉치를 찾아낸 좌석 주변임",
            "orientation": "Only an oblique portion remains visible at the upper frame edge.",
            "camera_use": "Minimal environmental context preventing the hand detail from becoming abstract.",
            "directionality_class": "directional_3d"
          },
          {
            "element": "고무 매트가 깔린 통로",
            "state": "1호차 통로에 그대로 깔려 있음",
            "orientation": "",
            "camera_use": "Peripheral ground reference beneath the hands.",
            "directionality_class": "non_directional"
          }
        ],
        "frame_spatial_contract": null,
        "subject_reference_policy": [
          {
            "subject_id": "C01",
            "policy_type": "identity_reference",
            "policy": "base_id_required",
            "reason": "The insert shows only 정임's hands and partial sleeves, so an outlook reference would not align reliably with visible facial or full-costume features."
          }
        ]
      },
      {
        "scene_index": 3,
        "shot_index": 6,
        "framing_scale": "medium",
        "perspective": "observer",
        "pov_character": "",
        "perception_mode": "direct",
        "camera_direction": "From the aisle side just below shoulder height, a static three-quarter composition crosses the line between the characters: 정임 occupies the left foreground with her head turned toward 기사 최씨, while her clenched hand and the ticket bundle remain visible in the lower center. 기사 최씨 stands beside her in the right midground with one hand resting on the adjacent seat back, and their matched eyelines hold the frame as the primary exchange.",
        "lighting_mood": "Low-key ambient light appropriate to the nighttime interior is set against the explicitly dark windows, with muted navy, aged beige, restrained highlights, and subtle film grain.",
        "character_angles": [
          {
            "character": "정임",
            "angle": "three_quarter_right",
            "body_pose": "turning with tickets clenched",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C02",
            "subject_state": "alive"
          },
          {
            "character": "기사 최씨",
            "angle": "profile_left",
            "body_pose": "hand resting on seatback",
            "gaze_direction_kind": "looks_at_character",
            "gaze_target_id": "C01",
            "subject_state": "alive"
          }
        ],
        "key_bg_elements": [
          {
            "element": "회수권 뭉치",
            "state": "정임의 한 손에 꼭 쥐어져 있음",
            "orientation": "The folded cover and compressed ticket edges angle toward the camera beneath 정임's face.",
            "camera_use": "Lower-center evidence retained within the reaction framing.",
            "directionality_class": "content_surface"
          },
          {
            "element": "낡은 비닐 좌석 커버",
            "state": "1호차 좌석 등받이에 그대로 씌워져 있음",
            "orientation": "The seat beside 기사 최씨 presents its aisle-side plane, supporting his resting hand.",
            "camera_use": "Shared physical anchor between 기사 최씨 and 정임.",
            "directionality_class": "directional_3d"
          },
          {
            "element": "차창",
            "state": "창밖이 이미 깜깜함",
            "orientation": "The window presents a dark exterior beyond the bus interior.",
            "camera_use": "Background field that isolates the two-character exchange.",
            "directionality_class": "transparent_surface"
          },
          {
            "element": "고무 매트가 깔린 통로",
            "state": "1호차 통로에 그대로 깔려 있음",
            "orientation": "",
            "camera_use": "Lower background continuity beneath the two characters.",
            "directionality_class": "non_directional"
          }
        ],
        "frame_spatial_contract": null,
        "subject_reference_policy": []
      }
    ],
    "total": 6,
    "failed_batches": 0
  },
  "config_hash": "0c9d0b8082b44321",
  "step_id": "shot_staging",
  "run_id": "e78afd1e-cc0b-46a0-90e8-3979b2162bcc",
  "resolved_model": "gpt",
  "updated_at": "2026-08-29T08:36:14.834794+00:00",
  "schema_version": 6,
  "project_config_snapshot": {}
}