{
  "status": "completed",
  "completed_count": 28,
  "applicable_count": 28,
  "failed_count": 0,
  "schema_version": 2,
  "blocked_count": 0,
  "validator_violation_count": 0,
  "contract_violation_count": 0,
  "data": {
    "scenes": [
      {
        "scene_index": 1,
        "analysis_summary": "Shot 2는 인물의 얼굴 클로즈업이고, Shot 4는 상체를 덮쳐지는 순간의 미디엄 와이드 샷이므로, 프레이밍 충돌을 피하기 위해 인물의 고정 상태는 제외했습니다. 대신 두 샷에 공통으로 묘사되는 축축한 진흙과 젖은 낙엽이 깔린 어스름한 숲속 환경을 고정 요소로 추출했습니다.",
        "fixed_elements": [
          {
            "element_id": "dusk_forest_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A dense, humid forest setting at dusk. The ground and immediate surroundings are covered in damp, crushed leaves, torn grass, and patches of dark mud. The ambient lighting is dim and filtered, casting deep blue-green and damp green-brown tones across the vegetation.",
            "applies_to_shots": [
              2,
              4
            ],
            "source_facts": [
              "Scene heading states: 숲속 / 해 질 무렵 (Forest / Dusk)",
              "Shot 2 mentions wet leaves, foliage, dusk canopy, and dim blue-green dusk light.",
              "Shot 4 mentions torn grass, mud, crushed leaves, and damp green-brown forest tones."
            ],
            "visual_inferences": [
              "The ground remains consistently muddy and disturbed from the chase and the ensuing physical struggle."
            ],
            "creative_decisions": [
              "Emphasized the damp, blue-green and muddy brown color palette to visually unify the background across different camera framing distances."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 2,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 3,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 4,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 5,
        "analysis_summary": "민숙이 샷 3, 7, 9에 모두 등장합니다. 샷 3과 7은 상반신이 포함된 전신/미디엄 구도이므로 그녀의 앞치마 복장과 손목의 고정 표식을 하나의 상태로 묶어 적용했으며, 손목만 극단적으로 확대한 샷 9는 단일 샷이므로 프레이밍 충돌을 막기 위해 고정 요소 목록에서 제외했습니다.",
        "fixed_elements": [
          {
            "element_id": "minsuk_attire_and_mark",
            "element_type": "character_state",
            "character_name": "Minsuk",
            "description": "A 40-year-old East Asian woman wearing casual domestic clothes with a kitchen apron tied around her body. A distinct, small, circular reddish mark is permanently present on her wrist skin.",
            "applies_to_shots": [
              3,
              7
            ],
            "source_facts": [
              "Scene text action: '앞치마를 두른 채' (wearing an apron)",
              "Scene text action: '민숙 손목에 보이는 작은 원(이하 표식)' (small circular mark on Minsuk's wrist)",
              "Shot 3: MCU push-in framing of Minsuk",
              "Shot 7: CU profile framing showing Minsuk's upper body in the shallow plane"
            ],
            "visual_inferences": [
              "The apron and casual clothes are consistently worn from the living room area to the entryway.",
              "The circular mark on the wrist is an inherent, unmoving physical trait that belongs to her overall character model."
            ],
            "creative_decisions": [
              "Merged the persistent attire and physical mark into a single 'full/upper body' character state for Shots 3 and 7.",
              "Excluded Shot 9 from fixed elements because it is a solitary extreme close-up, adhering to the rule to prevent conflicting zoom descriptions."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 6,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 7,
        "analysis_summary": "수리영이 보호소 업무를 수행하며 능동적으로 움직이는 씬이므로 고정된 인물 상태는 없습니다. 대신 샷 1과 5에 걸쳐 차가운 형광등 조명과 습기 찬 환경 속 수직 철창이 공통된 환경 요소로 등장합니다.",
        "fixed_elements": [
          {
            "element_id": "damp_kennel_bars",
            "element_type": "environment_state",
            "character_name": "",
            "description": "Thick, vertical metal cage bars of an animal enclosure. The structure is set in a damp, humid room illuminated by cold fluorescent lighting, creating pale reflections on the wet metallic and concrete surfaces.",
            "applies_to_shots": [
              1,
              5
            ],
            "source_facts": [
              "Shot 1 camera: 'thick cage bars', 'hard vertical strips'",
              "Shot 1 lighting: 'Cold fluorescent light mixes with damp concrete reflections'",
              "Shot 5 camera: 'blurred kennel bars remain as damp vertical streaks behind her'",
              "Shot 5 lighting: 'muted by humidity', 'dim practical spill'"
            ],
            "visual_inferences": [
              "The metal cages are uniform throughout the holding area, consistently reflecting the bleak, humid lighting of the shelter room."
            ],
            "creative_decisions": [
              "Using the damp, vertical metal bars as a recurring environmental motif to ground the location's gritty, institutional, and enclosed atmosphere across different camera angles."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 8,
        "analysis_summary": "수리영이 마트 내부(Shot 2)에서 외부(Shot 5)로 이동함에 따라 자세와 표정이 지속적으로 변하므로 고정된 인물 상태나 소품은 없습니다. 다만 두 샷 모두에 공통으로 묘사된 해질녘의 축축한 네온 조명 상태를 씬의 일관성을 유지하는 환경 요소로 추출했습니다.",
        "fixed_elements": [
          {
            "element_id": "damp_dusk_neon_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A continuous lighting condition of early evening dusk mixed with colorful neon lights. The neon light reflects off damp surfaces, casting a moody, slightly muted glow that visually bridges the interior entrance and the exterior street environment.",
            "applies_to_shots": [
              2,
              5
            ],
            "source_facts": [
              "Shot 2 lighting: 'mixes with damp dusk neon leaking through the entrance'",
              "Shot 5 lighting: 'Dusk has fallen into blue-gray street darkness, punctured by damp neon'"
            ],
            "visual_inferences": [
              "The ambient damp neon lighting spills from the wet street into the mart's entrance, maintaining consistent environmental color tones on the character's face across both locations."
            ],
            "creative_decisions": [
              "Using wet surface reflections and neon color spills to visually connect the interior and exterior shots, maintaining a consistent somber and uneasy mood."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 9,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 10,
        "analysis_summary": "선택된 샷 3(옥탑방 외부 바닥과 그림자)과 샷 8(방 내부 인물의 얼굴 클로즈업)은 서로 완전히 다른 공간과 피사체를 다루고 있으므로, 두 샷 이상에 공통으로 등장하는 시각적 고정 요소가 존재하지 않습니다.",
        "fixed_elements": [],
        "status": "ok"
      },
      {
        "scene_index": 11,
        "analysis_summary": "각 샷의 프레이밍 차이(전신형과 확대형)를 엄격히 구분하여 단일 샷에만 적용되는 인물 상태 묘사는 배제하였으며, 2개 이상의 샷에서 일관되게 나타나는 바닥의 흥건한 핏자국, 프레임에 걸리는 커튼, 그리고 방 안의 어둡고 푸른 조명 상태를 고정 시각 요소로 추출했습니다.",
        "fixed_elements": [
          {
            "element_id": "dim_blue_gray_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The interior space is submerged in oppressive, humid shadows characterized by a strong cool, blue-gray tone. A weak, muted spill of light from an off-camera source barely illuminates the space, maintaining a grim, dark, and gloomy atmosphere.",
            "applies_to_shots": [
              11,
              14,
              20
            ],
            "source_facts": [
              "Shot 11 lighting: 'dim room lamp leave the floor in humid gray shadow'",
              "Shot 14 lighting: 'Muted lamp spill... carve silhouette into a gray-blue silhouette'",
              "Shot 20 lighting: 'The room stays dim and blue-gray'"
            ],
            "visual_inferences": [
              "The ambient light is extremely low, relying on a single weak artificial light source that casts cool, unsettling shadows."
            ],
            "creative_decisions": [
              "Unifying the visual tone across wide and close-up shots by locking in the specific cool blue-gray color grading to enhance the horror atmosphere."
            ],
            "confidence": "high"
          },
          {
            "element_id": "pooled_blood_on_floor",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A thick, wet pool of deep red blood is heavily spread across the dark wooden floorboards. The saturated red liquid creates a striking, gruesome contrast against the muted, shadowy textures of the room's floor.",
            "applies_to_shots": [
              11,
              14
            ],
            "source_facts": [
              "Scene text: '바닥에 흥건한 혈흔.'",
              "Shot 11 action: '방바닥에 흥건하게 고인 붉은 핏자국'",
              "Shot 11 camera: 'The pooled red blood occupies the lower center'",
              "Shot 14 lighting: 'sick red stains pulling the eye downward'"
            ],
            "visual_inferences": [
              "The blood is fresh enough to appear wet and highly saturated, starkly contrasting with the wooden floor."
            ],
            "creative_decisions": [
              "Using the blood pool as a persistent environmental anchor between the close-up floor tracking and the wide reveal of the body."
            ],
            "confidence": "high"
          },
          {
            "element_id": "hanging_window_curtain",
            "element_type": "persistent_prop",
            "character_name": "",
            "description": "A long, mundane fabric window curtain hangs vertically, its bottom edge touching the wooden floorboards. It is partially pulled aside, serving as a soft, shadowy framing device at the edge of the visual field.",
            "applies_to_shots": [
              11,
              14
            ],
            "source_facts": [
              "Scene text: '피묻은 발자국은 커튼으로 이어져 있다. 호흡을 가다듬고 커튼을 젖히자...'",
              "Shot 11 camera: 'blurred curtain line remain visible as scale references'",
              "Shot 14 camera: 'behind the pulled-aside fabric. The curtain edge frames the left foreground'"
            ],
            "visual_inferences": [
              "The curtain is likely made of a heavy, neutral-colored fabric that absorbs the dim room light."
            ],
            "creative_decisions": [
              "Maintaining the curtain as a constant foreground or background element to emphasize the cramped, hidden nature of the space."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 12,
        "analysis_summary": "수리영이 옥탑방 내외부에서 감정적 동요를 겪는 과정으로, 샷 4와 13에서는 외부 경찰차의 붉은 사이렌 불빛이, 샷 8과 13의 내부 공간에서는 서늘하고 푸른 새벽빛이 공통적인 환경 상태로 묘사됩니다. 인물들은 활발히 움직이고 있으므로 고정된 신체 상태 항목은 제외했습니다.",
        "fixed_elements": [
          {
            "element_id": "emergency_siren_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "Faint, pulsing red emergency siren lights from outside, casting subtle red accents and reflections across the space to create an uneasy and tense atmosphere.",
            "applies_to_shots": [
              4,
              13
            ],
            "source_facts": [
              "S#13 action: '동시에 사이렌이 울리고'",
              "Shot 4 lighting: 'a faint red emergency flicker catching her tears'",
              "Shot 13 lighting: 'with the red accents now reduced to a barely perceptible unease'"
            ],
            "visual_inferences": [
              "The pulsing red light from the arrived police car reaches both the exterior stairs and the interior living area."
            ],
            "creative_decisions": [
              "Maintained the red siren light as a subtle, unifying atmospheric element across the active shots to emphasize the lingering tension of the crime scene."
            ],
            "confidence": "high"
          },
          {
            "element_id": "cool_interior_ambient_light",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A cold, grayish-blue ambient dawn light seeping into the interior of the house, rendering the surrounding walls and empty space in a sterile, cool tone.",
            "applies_to_shots": [
              8,
              13
            ],
            "source_facts": [
              "Shot 8 lighting: 'bluish coastal dawn seepage, making the clean room feel unnaturally sterile'",
              "Shot 13 lighting: 'the surrounding room stays cool and gray'"
            ],
            "visual_inferences": [
              "The early dawn light from the coastal area uniformly affects the interior color palette of the rooftop house, contrasting with localized practical lights."
            ],
            "creative_decisions": [
              "Using a cool, sterile color temperature for the background interior to highlight the unnatural emptiness where the body used to be."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 13,
        "analysis_summary": "수리영이 일어서서 달려가는 역동적인 씬이므로 인물의 고정된 정지 상태는 없지만, 축축하고 어두운 해안가 버스 정류장 주변의 야간 환경과 차가운 조명 상태가 샷 전반에 걸쳐 동일하게 유지됩니다.",
        "fixed_elements": [
          {
            "element_id": "damp_coastal_bus_stop",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A dark, damp coastal roadside at night, featuring a bus stop shelter that casts a weak, cold fluorescent glow. The paved ground is wet, reflecting the faint artificial light, while the surrounding background is swallowed by deep, blue-black coastal darkness.",
            "applies_to_shots": [
              3,
              4,
              5
            ],
            "source_facts": [
              "Shot 3: 'weak fluorescent practical flattening her face and moisture glinting on the bench'",
              "Shot 4: 'wet road', 'roadside sodium spill', 'darkness ahead'",
              "Shot 5: 'Weak shelter light', 'damp blue-black roadside'"
            ],
            "visual_inferences": [
              "The asphalt remains uniformly wet across the scene, creating a consistent cold reflection of the nearby artificial lights."
            ],
            "creative_decisions": [
              "Emphasizing a cold blue-gray color palette for the night environment to amplify the sense of isolation and uncertainty."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 14,
        "analysis_summary": "이 씬의 두 샷은 밤 시간대 경찰서 당직실을 배경으로 하며, 인물이 계속 움직이고 있어 고정된 상태의 캐릭터나 소품은 없습니다. 공통적으로 나타나는 시각적 요소는 밤샘 근무의 피로감과 긴장감을 강조하는 창백한 녹색조의 형광등 조명 환경입니다.",
        "fixed_elements": [
          {
            "element_id": "night_shift_office_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The interior of an institutional office at night, illuminated by flat, sickly greenish fluorescent overhead lights. The harsh lighting casts cool, damp shadows across the room, establishing an exhausted and tense atmosphere. A faint, cold glow from a mobile device slightly pierces the ambient greenish light, while the background features muted, indistinct office furniture and duty desks.",
            "applies_to_shots": [
              3,
              5
            ],
            "source_facts": [
              "Scene text: '경찰서 사무실 / N'",
              "Shot 3 description: 'Flat greenish fluorescent office light is broken by the cold phone glow, giving the confrontation a damp, exhausted night-shift tension'",
              "Shot 5 description: 'Sickly fluorescent light and the faint phone glow'"
            ],
            "visual_inferences": [
              "Standard institutional office setting with overhead panel lights",
              "The overall color palette is dominated by cold green and bluish tones due to the fluorescent fixtures"
            ],
            "creative_decisions": [
              "Using the greenish tint to visually reinforce the fatigue and anxiety of the late-night shift",
              "Keeping the background details relatively generic and muted to keep the focus on the foreground subjects"
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 15,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 16,
        "analysis_summary": "선택된 3개의 샷은 각각 침실(인물), 욕실(벽면 표식), 거실(액자)을 클로즈업으로 비추고 있어 물리적인 인물이나 소품의 교차 등장 요소는 없습니다. 다만 세 샷 모두 이른 새벽의 차갑고 흐린 자연광이라는 구체적이고 일관된 조명 상태를 묘사하고 있으므로, 이를 공간 전체를 관통하는 고정 환경 요소로 추출했습니다.",
        "fixed_elements": [
          {
            "element_id": "dim_dawn_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The indoor environment is bathed in a cold, dim, and muted grayish daylight characteristic of early dawn. Soft, cool-toned ambient light seeps into the spaces, casting faint shadows and establishing a consistently gloomy, low-contrast atmosphere across different rooms.",
            "applies_to_shots": [
              2,
              10,
              14
            ],
            "source_facts": [
              "Shot 2 lighting: 'Cold dawn seepage and faint room shadow'",
              "Shot 10 lighting: 'cool humid daylight'",
              "Shot 14 lighting: 'Muted gray daylight'"
            ],
            "visual_inferences": [
              "The entire house shares the same overcast, early morning natural light coming from outside.",
              "The lack of strong direct sunlight unifies the physically disconnected rooms (bedroom, bathroom, dining area) under one cohesive tone."
            ],
            "creative_decisions": [
              "Applying a consistent cool-blue and grayish color grade to the environmental lighting to heighten the protagonist's psychological dread and the eerie occult undertones."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 17,
        "analysis_summary": "두 샷의 인물 구도(전신 샷과 클로즈업 샷)가 서로 달라 인체 중복 렌더링 방지 규칙에 따라 인물 상태는 제외하였으며, 씬 전체를 아우르는 이른 아침의 안개 낀 차가운 조명 및 환경 상태만 공통 요소로 추출하였습니다.",
        "fixed_elements": [
          {
            "element_id": "cold_dawn_lighting_state",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A specific lighting state of the outdoor environment, featuring cold, fog-muted dawn light. The scene is bathed in dim, cool-toned daylight with a visible layer of faint morning fog that softens edges and mutes surrounding colors, creating a chilly and quiet atmosphere.",
            "applies_to_shots": [
              1,
              5
            ],
            "source_facts": [
              "scene heading text: 이른 아침 (early morning)",
              "Shot 1 lighting: Cool fog-muted dawn light dominates",
              "Shot 5 lighting: Cold dawn light"
            ],
            "visual_inferences": [
              "The light casts a bluish-gray tint over the exterior, lacking any warm sunlight."
            ],
            "creative_decisions": [
              "Unifying the color grading and atmospheric fog texture to ensure the early morning mood remains consistent across wide and tight shots."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "analysis_summary": "두 샷 모두 마트 총무과/보안실 안에서 CCTV 모니터를 중심으로 진행되며, 차갑고 어두운 모니터광이 공간의 기본 조명 상태를 유지해야 합니다. 인물 자세와 시선은 샷마다 달라 고정 character_state로 묶지 않았습니다.",
        "fixed_elements": [
          {
            "applies_to_shots": [
              2,
              4
            ],
            "character_name": "",
            "confidence": "high",
            "creative_decisions": [
              "Keep the blue-gray CCTV monitor glow as the dominant visual continuity cue across both selected shots.",
              "Maintain a cold investigative atmosphere in the office rather than introducing warm ambient light."
            ],
            "description": "The supermarket administrative security office remains dim, with cold blue-gray light from a CCTV monitor washing across the people near the desk. Any overhead fluorescent light stays dull and dirty, mixing weakly with the monitor spill and leaving the room in muted, cool shadows.",
            "element_id": "cold_cctv_monitor_office_lighting",
            "element_type": "environment_state",
            "source_facts": [
              "Scene text: CCTV footage is being replayed in the supermarket administrative office/security room.",
              "Shot 2 lighting: 'Blue-gray monitor light cuts across humid, stale office darkness.'",
              "Shot 4 lighting: 'Dirty fluorescent overheads mix with blue monitor spill.'"
            ],
            "visual_inferences": [
              "The same cold monitor spill is treated as a continuous lighting condition across the selected shots.",
              "The office darkness is kept consistent even when the camera angle changes."
            ]
          },
          {
            "applies_to_shots": [
              2,
              4
            ],
            "character_name": "",
            "confidence": "high",
            "creative_decisions": [
              "Use the CCTV monitor as the central fixed prop motivating eyelines and blue light, even when it is partly off-frame.",
              "Keep the dark surveillance segment visually unresolved so the scene’s investigative tension remains consistent."
            ],
            "description": "A CCTV monitor at the desk is replaying surveillance footage in which one crucial section appears abnormally dark and difficult to identify. The screen faces the people gathered around the desk and acts as the source of the cold blue-gray glow in the room.",
            "element_id": "desk_cctv_monitor_dark_playback",
            "element_type": "persistent_prop",
            "source_facts": [
              "Scene text: the security staff and others are reviewing CCTV footage.",
              "Scene text: '그 부분만 유독 어두워 식별이 불가능하다' — that portion is unusually dark and impossible to identify.",
              "Shot 2 staging: eyes are fixed toward the CCTV monitor, with blue-gray monitor light present.",
              "Shot 4 lighting: blue monitor spill is present during the exchange."
            ],
            "visual_inferences": [
              "The CCTV monitor is placed on or immediately beside the desk in front of the characters.",
              "The dark section remains on the same playback source across both shots."
            ]
          }
        ],
        "scene_index": 18,
        "status": "ok"
      },
      {
        "scene_index": 19,
        "analysis_summary": "수리영이 등장하는 샷(4)과 그녀가 바라보는 시선 끝의 사건 사진(5), 그리고 모니터 화면(7)이 교차하는 장면입니다. 인물이 단일 샷에만 등장하므로 인물 상태는 제외하고, 여러 샷에 걸쳐 나타나는 책상 위 어지러운 사건 사진들과 경찰서 특유의 차가운 형광등 조명 상태를 공통 고정 요소로 추출했습니다.",
        "fixed_elements": [
          {
            "element_id": "scattered_evidence_photos",
            "element_type": "persistent_prop",
            "character_name": "",
            "description": "Several glossy crime scene photographs are chaotically scattered and overlapping on the surface of a standard office desk. The visible images display gruesome, torn flesh details with dark red-brown tones, contrasting sharply with the mundane desk surface.",
            "applies_to_shots": [
              4,
              5
            ],
            "source_facts": [
              "scene text: '혜수 책상위에는 살인사건 확대 사진들이 어지럽게 널려있다. 목, 어깨, 얼굴등 살점이 떨어져'",
              "Shot 4: 'her gaze drops toward the evidence below'",
              "Shot 5: 'The images overlap chaotically across the desk, with torn neck and shoulder details isolated in the center'"
            ],
            "visual_inferences": [
              "The photographs are directly resting on the desk under the character's immediate view, acting as a horrifying focal point among otherwise normal office items."
            ],
            "creative_decisions": [
              "Highlighting the red-brown wound details within the photos to create a sickening, warm accent against the cold desk environment."
            ],
            "confidence": "high"
          },
          {
            "element_id": "cold_fluorescent_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The police station environment is illuminated by harsh, cold overhead fluorescent lights. This lighting casts a sterile, bluish-white glare across flat surfaces like the desk and glossy photos, while deepening the somber, heavy shadows in the background.",
            "applies_to_shots": [
              4,
              5,
              7
            ],
            "source_facts": [
              "Shot 4: 'Harsh police-station fluorescents are softened by humid air and monitor spill'",
              "Shot 5: 'Cold fluorescent light makes the glossy photo surfaces glare in patches'",
              "Shot 7: 'cutting through the police-office gloom'"
            ],
            "visual_inferences": [
              "The overall ambient light in the room is distinctly cool-toned and uninviting, typical of institutional spaces at night or in tense situations."
            ],
            "creative_decisions": [
              "Using the contrast between the cold, harsh overhead glares and the deep background gloom to amplify the psychological tension of the discovery."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 20,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 21,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 22,
        "analysis_summary": "샷 1은 인물이 없는 익스트림 와이드 샷이고 샷 4는 인물의 익스트림 클로즈업 샷이므로 인물 고정 요소는 성립하지 않으나, 두 샷을 관통하는 세찬 비와 번개가 치는 폭풍우 환경 상태는 동일하게 유지되어야 합니다.",
        "fixed_elements": [
          {
            "element_id": "stormy_coastal_weather",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A severe storm environment characterized by heavy diagonal rain streaks cutting through the dark atmosphere. The sky and surroundings are dominated by cold slate-blue, charcoal, and muted storm-gray tones, periodically illuminated by bright, harsh lightning flashes from thick, dark storm clouds.",
            "applies_to_shots": [
              1,
              4
            ],
            "source_facts": [
              "Scene text: '천둥 번개와 함께 잔뜩 낀 먹구름이 세찬 비를 뿌린다'",
              "Shot 1: 'rain streaks cutting diagonally', 'slate-blue and charcoal, briefly overexposed by the lightning flash'",
              "Shot 4: 'Storm-muted gray light', 'faint distant lightning flicker'"
            ],
            "visual_inferences": [
              "The intensity of the rain and the gloomy, oppressive darkness remain constant regardless of whether the camera is far away or up close."
            ],
            "creative_decisions": [
              "Using a highly cohesive cold gray and slate-blue color palette to visually link the extreme wide landscape with the intimate close-up."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 23,
        "analysis_summary": "모든 샷에 걸쳐 해질 무렵의 어둡고 습한 옥탑방 내부 조명 상태가 공통적으로 유지되며, 1번과 11번 샷에서는 빛이 들지 않는 어두운 현관문 입구가 일관된 환경 요소로 등장합니다. 낡은 흑백 사진은 벽에 꽂혀 있다가 인물의 손으로 이동하므로 상태 변화 규칙에 따라 고정 소품에서 제외했습니다.",
        "fixed_elements": [
          {
            "element_id": "dusk_apartment_interior_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The interior of the apartment is enveloped in dark, low-key dusk lighting. Deep blue-black shadows dominate the unlit space, while a weak, cool silver-gray evening light softly filters in from the outside, creating a gloomy, humid, and unsettling atmosphere across the rooms.",
            "applies_to_shots": [
              1,
              6,
              11
            ],
            "source_facts": [
              "Shot 1: Fading dusk leaks through the open window, turning the wet floor silver-gray while the room stays underlit.",
              "Shot 6: Low dusk light mixes with a faint warm interior practical, gray-green shadows.",
              "Shot 11: doorway falls into blue-black interior shadow while the exterior dusk gives her face a weak gray rim."
            ],
            "visual_inferences": [
              "The lack of strong indoor lighting ensures the entire apartment interior consistently reads as an eerie, shadowed void heavily influenced by the cool dusk light from outside."
            ],
            "creative_decisions": [
              "Unifying the color palette across different sections of the apartment with a blue-gray dusk tint and heavy black shadows to heighten the psychological tension and sense of abandonment."
            ],
            "confidence": "high"
          },
          {
            "element_id": "shadowed_entrance_doorway",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The main entrance doorway of the apartment stands as a stark, unlit architectural feature. The frame of the open door reveals a deep, heavily shadowed rectangular void, completely lacking any welcoming interior light.",
            "applies_to_shots": [
              1,
              11
            ],
            "source_facts": [
              "Shot 1: the entrance side blurred behind.",
              "Shot 11: faces back into the dark doorway... doorway remains a shadowed rectangle behind her."
            ],
            "visual_inferences": [
              "Since the apartment is unlit, the entrance area receives no practical illumination, rendering it as a dark silhouette or a black rectangle in the background."
            ],
            "creative_decisions": [
              "Using the unlit, shadowy doorway as a consistent framing device to emphasize the emptiness and unsettling nature of the ransacked apartment."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 24,
        "analysis_summary": "씬 내 샷 3, 4, 9를 분석한 결과, 수리영은 계속해서 움직이는 상태이므로 고정된 인물 물리적 상태(character_state)는 없습니다. 대신 해질 무렵의 짙은 안개와 비에 젖은 낡은 어선이 여러 샷에 걸쳐 공통적인 환경 상태로 나타나 이를 추출하였습니다.",
        "fixed_elements": [
          {
            "element_id": "thick_harbor_fog",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A dense, pervasive fog blankets the coastal area during dusk. It creates a thick gray-blue haze that heavily obscures distant elements and softens the ambient lighting into a moody, low-contrast atmosphere.",
            "applies_to_shots": [
              3,
              4
            ],
            "source_facts": [
              "S#26 action: '안개가 자욱하다. 텅 빈 포구.'",
              "Shot 3 description: 'foggy harbor remain soft scale references'",
              "Shot 4 description: 'compressed wall of fog', 'Fog-diffused dusk light'"
            ],
            "visual_inferences": [
              "The fog imparts a cold, uniform gray-blue atmospheric tint across the harbor area due to the dusk timing."
            ],
            "creative_decisions": [
              "Use the heavy fog as a consistent backdrop to visually isolate the subjects and establish a gloomy, mysterious mood across varying framings."
            ],
            "confidence": "high"
          },
          {
            "element_id": "weathered_fishing_boat",
            "element_type": "environment_state",
            "character_name": "",
            "description": "An old, small fishing boat exhibits a visibly weathered exterior with chipped rust-red and red-brown paint accents. Its hull and deck surfaces are slick with moisture, reflecting the dim ambient light.",
            "applies_to_shots": [
              4,
              9
            ],
            "source_facts": [
              "Shot 4 description: 'old fishing boat emerges bow-first', 'rust-red accent cutting faintly through the gloom'",
              "Shot 9 description: 'wet boat deck', 'dim red-brown boat paint accents adding a restrained ominous warmth'"
            ],
            "visual_inferences": [
              "The boat looks visibly aged, and its exposed surfaces are completely wet due to the recent heavy rain shower mentioned in the scene text."
            ],
            "creative_decisions": [
              "Highlight the muted red-brown paint to provide a subtle, consistent color contrast against the otherwise monochromatic gray-blue foggy environment."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 25,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 26,
        "analysis_summary": "해질 무렵 소형 어선의 갑판이라는 공간적 특성에 따라, 축축하고 어둑한 대기 조명 상태와 비바람에 젖어 반사되는 갑판 바닥을 다수의 샷에 공통 적용할 환경 고정 요소로 추출했습니다. 인물의 자세와 위치는 극 전개에 따라 동적으로 변하므로 고정 요소에서 제외했습니다.",
        "fixed_elements": [
          {
            "element_id": "sunset_marine_atmosphere",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The surrounding environment is characterized by a dim, humid sunset merging with a cold sea-gray haze. Weak amber and orange-gray light softly illuminates the damp air, creating a moody and isolated marine atmosphere. The background remains enveloped in a muted grayish tone reflecting the fading light over the ocean.",
            "applies_to_shots": [
              6,
              8,
              11
            ],
            "source_facts": [
              "Scene heading: 바다 + 갑판 / 해질 무렵 (Sea + deck / around sunset)",
              "Shot 6: Dim amber sunset mixes with cold sea-gray fill, wet deck gloom and sunset haze",
              "Shot 8: Low, humid sunset light, shallow-focus gray",
              "Shot 11: dim sea glow, weak orange-gray sunset backlights rain"
            ],
            "visual_inferences": [
              "The combination of the setting sun and sea spray creates a persistently hazy, damp air quality across the entire scene."
            ],
            "creative_decisions": [
              "Using the contrasting warm amber and cool sea-gray tones to heighten the emotional tension and sense of isolation on the small boat."
            ],
            "confidence": "high"
          },
          {
            "element_id": "rain_slick_deck",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The floor of the small boat's deck is noticeably slick with rainwater and sea spray, presenting a highly reflective, glossy surface under the faint light. The dark, weathered texture of the deck emphasizes the wet, cold, and uncomfortable conditions of the exterior environment.",
            "applies_to_shots": [
              6,
              11
            ],
            "source_facts": [
              "Shot 6: wet deck gloom",
              "Shot 11: rain-slick deck, rain on their faces"
            ],
            "visual_inferences": [
              "The deck surface is likely made of aged, dark material that heavily reflects the ambient sunset light when coated in water."
            ],
            "creative_decisions": [
              "Emphasizing the glossy, wet texture of the deck floor to visually anchor the characters in a harsh physical space before they move inside."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 27,
        "analysis_summary": "선택된 샷들에서 인물들은 서로 다른 부위의 클로즈업이나 뒷모습으로 등장하여 고정된 인물 상태를 도출할 수 없으나, 조타실 내부의 호박색 실내등과 외부의 푸른 저녁 빛이 이루는 특징적인 조명 상태가 공통 환경 요소로 작용합니다. 또한 낡은 조작판(콘솔)의 어두운 표면이 두 클로즈업 샷에서 손과 사물이 놓이는 고정된 소품이자 배경으로 유지됩니다.",
        "fixed_elements": [
          {
            "element_id": "wheelhouse_dusk_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The cramped interior of the boat cabin is defined by a striking dual-tone lighting environment. A sickly, muddy amber practical light from the control area casts a weak, yellowish glow over the nearby surfaces and subjects. This warm artificial light contrasts sharply against the cold, damp blue-gray gloom of dusk spilling in from the windows, creating a humid and oppressive atmosphere.",
            "applies_to_shots": [
              2,
              5,
              8
            ],
            "source_facts": [
              "Shot 2: A muddy amber practical from the console... cold blue-gray window light",
              "Shot 5: lit by a weak yellow cabin practical and cold window spill",
              "Shot 8: Sickly cabin yellow and cold dusk blue"
            ],
            "visual_inferences": [
              "The consistent contrast between the interior yellow practical light and the exterior blue dusk gloom is the primary environmental characteristic visually linking these disparate shots."
            ],
            "creative_decisions": [
              "Using the stark warm/cold color contrast to unify the spatial continuity and emotional tension across the different framing scales and camera angles."
            ],
            "confidence": "high"
          },
          {
            "element_id": "dark_boat_console",
            "element_type": "persistent_prop",
            "character_name": "",
            "description": "A dark, slightly worn horizontal control console surface located near the helm inside the boat cabin. It is partially illuminated by the nearby amber practical light, providing a flat, shadowy base for interactions and objects.",
            "applies_to_shots": [
              2,
              5
            ],
            "source_facts": [
              "Shot 2: a sliver of the control area remain visible",
              "Shot 5: The photograph lies across the dark console"
            ],
            "visual_inferences": [
              "The 'control area' near the steering wheel in Shot 2 and the 'dark console' supporting the photograph in Shot 5 refer to the same physical structure anchoring the close-up actions."
            ],
            "creative_decisions": [
              "Maintaining a consistent dark, worn texture for the console surface to ground the tight hand-level shots in the same spatial context."
            ],
            "confidence": "medium"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 28,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      }
    ]
  },
  "step_id": "scene_consistency",
  "run_id": "baa4da74-dbc6-44b6-92e8-af19d9eeb6fb",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-05-13T10:28:36.532772+00:00",
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}