{
  "status": "completed",
  "completed_count": 4,
  "applicable_count": 4,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "scene_index": 1,
        "flow_summary": "카메라는 다림질대 높이에서 김 너머 정순의 손동작을 관찰한 뒤, 정순의 시선을 따라 입구로 이동해 들어오는 태욱과 함께 카운터까지 따라간다. 마지막에는 카운터 위로 낮게 접근해 태욱의 손가락과 학생증이 맞닿는 순간에 집중한다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing_observation",
            "camera_position": "At ironing-board height, about one meter from the near edge, looking diagonally past the rising steam toward Jungsoon's hands",
            "camera_motion": "static",
            "visual_focus": "Jungsoon's hands gripping and folding the laundry beyond the rising steam",
            "transition_to_next": "Rise slightly and slide laterally around the ironing board toward Jungsoon's counter-facing side."
          },
          {
            "stage_index": 2,
            "stage_label": "attention_shift",
            "camera_position": "At Jungsoon's upper-chest height, just off her counter-facing side and about one meter away, viewing her in three-quarter profile",
            "camera_motion": "pan",
            "visual_focus": "Jungsoon turning her head and fixing her attention toward the counter and entrance",
            "transition_to_next": "Continue the pan toward the entrance, then begin tracking into Taewook's path as he comes inside."
          },
          {
            "stage_index": 3,
            "stage_label": "accompany",
            "camera_position": "At waist height beside Taewook's path, two meters from the entrance and angled across his movement toward the counter",
            "camera_motion": "track",
            "visual_focus": "Taewook entering and moving from the entrance toward the student ID on the counter",
            "transition_to_next": "Track alongside Taewook to the counter, then lower and move closer to the counter edge ahead of his reaching hand."
          },
          {
            "stage_index": 4,
            "stage_label": "close_observation",
            "camera_position": "Just above counter height and within half a meter of the student ID, offset to the side of Taewook's reaching hand at a shallow downward angle",
            "camera_motion": "dolly_in",
            "visual_focus": "Taewook's fingertips arriving at the edge of the student ID",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 1,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Tighten slightly so the rising steam remains in the near foreground while the force in both folding hands is clearly visible."
          },
          {
            "shot_index": 4,
            "stage_index": 4,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "End the push at the instant the fingertips first touch the student ID's edge."
          }
        ]
      },
      {
        "scene_index": 2,
        "flow_summary": "카메라는 골목을 걷는 태욱의 뒤쪽 사선에서 나란히 이동하다가, 그가 멈추는 순간 옆으로 좁혀 들어간다. 가슴 높이에서 이동을 멈추고 학생증을 응시하는 태욱의 옆얼굴과 손에 시선을 모은다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "approach",
            "camera_position": "At waist height, several paces behind and diagonally beside Taeuk, moving along his path through the alley",
            "camera_motion": "track",
            "visual_focus": "Taeuk walking with the student ID held in one hand",
            "transition_to_next": "Track forward and arc toward Taeuk's side as he slows to a stop, rising slightly to chest height."
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "At chest height and close beside Taeuk, nearly perpendicular to his body axis, with his profile and the raised student ID sharing the viewing direction",
            "camera_motion": "static",
            "visual_focus": "Taeuk's profile, his fixed gaze, and the surface of the student ID held at chest height",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 2,
            "stage_index": 2,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 3,
        "flow_summary": "카메라는 정문 바깥의 높은 원경에서 태욱과 경비 박씨의 대면을 포착한 뒤, 두 사람 사이로 낮아지며 학생증 전달을 따라간다. 이어 학생증을 든 박씨의 측면으로 상승하며 접근해 그의 길어진 확인과 응시를 가까이 관찰한다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Outside the entrance at a slightly elevated head height, several meters from Taewook and guard Park, looking diagonally past the half-open gate toward the booth window",
            "camera_motion": "dolly_in",
            "visual_focus": "Taewook extending the student ID toward guard Park within the entrance space",
            "transition_to_next": "Continue forward and descend to waist height, entering the gap beside their shared arm line without crossing their facing axis."
          },
          {
            "stage_index": 2,
            "stage_label": "handoff_observation",
            "camera_position": "At waist height beside the space between Taewook and guard Park, within close range of their extended hands and angled across the exchange",
            "camera_motion": "track",
            "visual_focus": "Guard Park's fingers taking the edge of the student ID from Taewook",
            "transition_to_next": "Track along the student ID toward guard Park, then rise to his upper-chest height as he brings it toward his eyes."
          },
          {
            "stage_index": 3,
            "stage_label": "close_observation",
            "camera_position": "At upper-chest height and close to guard Park's three-quarter side, offset from the ID-to-eyes axis with the student ID nearest the camera and his face just beyond it",
            "camera_motion": "dolly_in",
            "visual_focus": "Guard Park narrowing his eyes at the flat photograph on the student ID held before him",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 3,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 4,
        "flow_summary": "카메라는 출입문 가까운 낮은 위치에서 접힌 우산을 확인한 뒤, 높이를 올리며 카운터를 향해 전진해 정순의 정면 축에 자리 잡는다. 마지막에는 앉아 있는 정순과 무릎까지를 담을 수 있는 거리에서 움직임을 멈춘다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Low near the entrance at floor height, a short distance from the folded umbrella, angled inward toward the counter",
            "camera_motion": "static",
            "visual_focus": "The folded umbrella near the entrance with the counter and seated figure deeper in the same sightline",
            "transition_to_next": "The camera rises toward seated chest height while moving forward from the entrance toward the counter."
          },
          {
            "stage_index": 2,
            "stage_label": "approach",
            "camera_position": "At seated chest height on a forward path from the entrance toward the counter, gradually aligning with Jung-soon's frontal axis",
            "camera_motion": "dolly_in",
            "visual_focus": "Jung-soon's motionless seated figure becoming dominant as the entrance recedes from view",
            "transition_to_next": "The forward move settles directly in front of Jung-soon and comes to a complete stop."
          },
          {
            "stage_index": 3,
            "stage_label": "close_observation",
            "camera_position": "Directly in front of Jung-soon at her seated eye height, at a medium distance wide enough to include her seated body down to the lap",
            "camera_motion": "static",
            "visual_focus": "Jung-soon sitting motionless on the chair behind the counter",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      }
    ]
  },
  "config_hash": "0b1af2fb9a0f5b41",
  "step_id": "scene_camera_flow",
  "run_id": "a0d0c325-187d-4e47-92fd-41d69dfc7ee8",
  "resolved_model": "gpt",
  "updated_at": "2026-09-04T11:30:47.276474+00:00",
  "schema_version": 1,
  "project_config_snapshot": {}
}