{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "schema_version": 3,
  "blocked_count": 0,
  "validator_violation_count": 0,
  "contract_violation_count": 0,
  "data": {
    "scenes": [
      {
        "scene_index": 1,
        "analysis_summary": "두 샷(3, 4)에 공통으로 등장하는 피해자 남성의 전반적인 외양(먼지가 묻은 옷차림과 겁에 질린 얼굴 상태)과 해 질 무렵의 어두운 숲속 환경(우거진 수풀과 황혼 조명)을 고정 요소로 추출했습니다. 인물의 달리기 및 쓰러짐 자세와 4번 샷에만 등장하는 습격자는 샷별 변동 요소이므로 제외했습니다.",
        "fixed_elements": [
          {
            "element_id": "male_victim_base_appearance",
            "element_type": "character_state",
            "character_name": "숲속 사건의 남자 피해자",
            "description": "A severely distressed Korean man with a panicked, wide-eyed expression. His face and exposed skin are visibly smeared with sweat and dirt. He is dressed in casual, rugged outdoor attire that appears rumpled and stained from his chaotic flight.",
            "applies_to_shots": [
              3,
              4
            ],
            "element_scope": "full",
            "source_facts": [
              "잔뜩 겁에 질린 남자 표정",
              "우거진 수풀을 헤치며 도망치는",
              "눈을 크게 뜬 채 겁에 질린"
            ],
            "visual_inferences": [
              "Korean man based on the regional setting",
              "Sweat and dirt on face and clothes due to fleeing through dense undergrowth"
            ],
            "creative_decisions": [
              "Rugged outdoor attire suited for the forest environment",
              "Maintaining the consistent distressed and grimy facial condition across both the portrait and the wide shot"
            ],
            "confidence": "high"
          },
          {
            "element_id": "dusk_forest_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A dense, overgrown forest environment bathed in fading dusk ambient light. Thick undergrowth and tangled foliage surround the area, creating a claustrophobic and isolated atmosphere. The lighting maintains a tense contrast with a restrained, dark, and cool color palette.",
            "applies_to_shots": [
              3,
              4
            ],
            "element_scope": "full",
            "source_facts": [
              "숲속 / 해 질 무렵",
              "우거진 수풀",
              "Dusk ambient light",
              "dense undergrowth"
            ],
            "visual_inferences": [
              "Tangled foliage and tight spatial feel reflecting the thick underbrush"
            ],
            "creative_decisions": [
              "Restrained, dark, and cool color palette to emphasize the failing light and intense thriller mood"
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 2,
        "analysis_summary": "가로등 불빛 아래 전봇대라는 환경적 고정 요소와, 습격자가 피해자를 왼쪽에서 오른쪽 전봇대 방향으로 압박하여 고립시키는 두 인물의 상대적 위치 및 신체적 압박 상태를 일관되게 유지합니다.",
        "fixed_elements": [
          {
            "element_id": "faint_streetlight_utility_pole",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A thick concrete utility pole stands as a vertical barrier in the dark urban back alley. A faint, low-brightness streetlight shines from above, casting harsh shadows and wrapping the pole and the immediate surrounding area in a muted, tense atmosphere.",
            "applies_to_shots": [
              1,
              3
            ],
            "element_scope": "full",
            "source_facts": [
              "도심 희미한 가로등 불빛.",
              "전봇대에 뒤엉켜있는 두 사람.",
              "The faint streetlight is the restrained source",
              "narrow strip of the utility pole behind her"
            ],
            "visual_inferences": [
              "The pole has a standard urban concrete texture, slightly weathered.",
              "The light source is directly above, creating severe contrast on subjects beneath it."
            ],
            "creative_decisions": [
              "Using the utility pole to visually trap the victim on the right edge of the frame, enhancing the claustrophobic feel."
            ],
            "confidence": "high"
          },
          {
            "element_id": "victim_pinned_to_pole",
            "element_type": "character_state",
            "character_name": "뒷골목 사건의 여자 피해자",
            "description": "An adult Korean female victim is forcefully pressed backward against the concrete utility pole on the right side of the area. Her body is physically trapped and overpowered, maintaining continuous back contact with the pole as she struggles against the pressure from her left.",
            "applies_to_shots": [
              1,
              3
            ],
            "element_scope": "full",
            "source_facts": [
              "남녀로 보인다.",
              "푹 힘없이 쓰러지는 여자.",
              "compressed against the pole on the right",
              "knees buckling against pole"
            ],
            "visual_inferences": [
              "She wears ordinary nighttime street clothing that blends into the dark alley setting.",
              "Her posture collapses inward toward the pole due to the attacker's overwhelming weight."
            ],
            "creative_decisions": [
              "Positioning her constantly on the right highlights the flow of aggressive action from left to right."
            ],
            "confidence": "high"
          },
          {
            "element_id": "attacker_aggressive_stance",
            "element_type": "character_state",
            "character_name": "정체불명의 습격자",
            "description": "An adult male attacker is positioned on the left side, heavily leaning forward to completely overpower the victim. His body maintains an aggressive, dominant posture, constantly driving his weight toward the right to keep the victim pinned against the structure.",
            "applies_to_shots": [
              1,
              3
            ],
            "element_scope": "full",
            "source_facts": [
              "남자의 붉은 눈동자",
              "정체불명의 습격자 in the left-center foreground",
              "driving shoulder into victim",
              "정체불명의 습격자 on the left"
            ],
            "visual_inferences": [
              "He is an adult Korean male with a physical build strong enough to effortlessly pin the victim.",
              "His face remains in deep shadow or extremely close to the victim, obscuring full clear features."
            ],
            "creative_decisions": [
              "His body acts as a visual block from the left, trapping the victim and dominating the frame composition."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "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": "샷 9와 10에 공통으로 나타나는 실내의 자연광 조명 상태와 민숙의 손목에 있는 작은 원형 표식을 고정 요소로 추출했습니다. 수리영과 민숙의 전체적인 모습(full)은 2개 이상의 샷에 공통으로 등장하지 않아 제외했습니다.",
        "fixed_elements": [
          {
            "element_id": "interior_sunlight",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The indoor environment is gently illuminated by natural sunlight coming through a small window. This light casts a muted, warm glow with restrained contrast across the space and its occupants. It provides clear visibility while maintaining a calm, slightly dim domestic atmosphere without any harsh artificial glare.",
            "applies_to_shots": [
              9,
              10
            ],
            "element_scope": "full",
            "source_facts": [
              "거실에 난 작은 창으로 햇살에 가늘게 비친다",
              "The stated sunlight from the small window gives the intimate profiles gentle separation",
              "The existing interior sunlight keeps the skin and circular mark clearly legible"
            ],
            "visual_inferences": [
              "The light serves as the primary source of illumination, indicating a daytime setting in a modest space.",
              "The light creates soft shadows rather than deep, dramatic ones."
            ],
            "creative_decisions": [
              "Keep the overall contrast restrained to emphasize intimacy in the wide shot and clarity in the close-up."
            ],
            "confidence": "high"
          },
          {
            "element_id": "minsuk_circular_mark",
            "element_type": "character_state",
            "character_name": "민숙",
            "description": "A distinct, small circular mark is visibly etched into the bare skin on the inner side of the middle-aged woman's wrist. The mark blends naturally with the surrounding skin tone and texture, remaining clear and legible but proportionate in size. It appears as a permanent, quiet detail on the arm whenever the wrist is exposed.",
            "applies_to_shots": [
              9,
              10
            ],
            "element_scope": "close",
            "source_facts": [
              "민숙 손목에 보이는 작은 원(이하 표식)",
              "leaves enough lower-frame space to motivate the next tilt toward 민숙's wrist",
              "isolating the small circular mark near the center while the wrist crosses the frame diagonally"
            ],
            "visual_inferences": [
              "The mark looks similar to a natural blemish, faint scar, or very subtle tattoo.",
              "It is positioned comfortably on the lower forearm near the wrist joint."
            ],
            "creative_decisions": [
              "Ensure the mark is perfectly circular but maintains an organic, natural integration with the skin so it does not look like a sci-fi overlay or exaggerated graphic."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 6,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 7,
        "analysis_summary": "두 샷에 공통으로 등장하는 유기견 보호원의 철망/철장 환경과, 그 안에서 앞다리에 힘을 주고 버티고 있는 로트와일러의 긴장된 자세를 고정 요소로 추출했습니다.",
        "fixed_elements": [
          {
            "element_id": "shelter_wire_mesh_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The animal shelter environment features sturdy metal wire mesh fences and cages used to securely enclose the dogs. The space is illuminated by muted, natural daytime ambient light with tense contrast and neutral coastal tones.",
            "applies_to_shots": [
              2,
              5
            ],
            "element_scope": "full",
            "source_facts": [
              "철망 너머로",
              "wire mesh remains sharply legible between her and the lens",
              "철장 안의 개들을",
              "cages and dogs fall slightly softer",
              "Natural daytime ambient light keeps the eyes readable... tense contrast, and muted neutral color",
              "Muted daytime illumination with restrained coastal neutrals and tense contrast"
            ],
            "visual_inferences": [
              "Sturdy metal construction suitable for containing large, aggressive breeds"
            ],
            "creative_decisions": [
              "Using the wire mesh as a consistent visual barrier to create depth and maintain the gritty, utilitarian atmosphere of the shelter"
            ],
            "confidence": "high"
          },
          {
            "element_id": "rottweiler_braced_posture",
            "element_type": "character_state",
            "character_name": "로트와일러",
            "description": "A large, muscular Rottweiler stands inside the wire mesh enclosure with its forelegs firmly braced. The animal's posture conveys a lingering physical tension, reflecting its subdued but alert state after an aggressive outburst.",
            "applies_to_shots": [
              2,
              5
            ],
            "element_scope": "full",
            "source_facts": [
              "로트와일러",
              "맹견의 기세가 수그러드는데",
              "forelegs braced",
              "braced inside enclosure"
            ],
            "visual_inferences": [
              "The bracing of forelegs indicates physical tension even when the dog is no longer actively attacking"
            ],
            "creative_decisions": [
              "Keeping the dog consistently tense to maintain the underlying emotional stakes and danger of the scene"
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 8,
        "analysis_summary": "마트 내부(샷 4)와 외부(샷 5)에 공통으로 등장하는 수리영의 기본 복장과 헤어스타일을 고정 요소로 추출했습니다. 자전거를 타고 이동한 후 마트를 오가는 상황이므로 외형은 샷 간 완벽히 일치해야 합니다.",
        "fixed_elements": [
          {
            "element_id": "suri_young_base_appearance",
            "element_type": "character_state",
            "character_name": "Suri-young",
            "description": "A young Korean female wearing practical, casual clothing suitable for riding a bicycle through a busy coastal city. Her hair is styled in a simple, active manner, showing slight disarray from her recent bike ride. Her base outfit and overall styling remain completely consistent as she moves from the supermarket interior to the neon-lit exterior.",
            "applies_to_shots": [
              4,
              5
            ],
            "element_scope": "full",
            "source_facts": [
              "Suri-young skillfully rides a bicycle through the busy streets.",
              "Suri-young enters the supermarket to find her mom.",
              "Suri-young comes out of the supermarket and tries to call her mom."
            ],
            "visual_inferences": [
              "Her attire consists of comfortable daily wear adapted for physical activity like cycling.",
              "Her hair is likely tied back or practically arranged to prevent interference while riding."
            ],
            "creative_decisions": [
              "The fabric of her clothing is muted in tone to harmonize with the anxious dusk atmosphere and neon lighting accents."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 9,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 10,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 11,
        "analysis_summary": "샷 3은 계단을 오르는 인물을 위에서 내려다보는 뷰이고, 샷 4는 인물의 시선에서 옥탑방 현관을 바라보는 시점(POV) 샷이므로 인물과 현관문 자체는 교차하여 등장하지 않습니다. 하지만 두 샷 모두 다세대 빌라의 좁은 계단 구조와 어둡고 긴장감 있는 야간 조명 상태를 공통된 환경 요소로 유지해야 합니다.",
        "fixed_elements": [
          {
            "element_id": "nighttime_ambient_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The exterior staircase and rooftop area share a dark, ominous nighttime setting. Visibility is strictly limited by low, natural ambient lighting, casting deep shadows across the surroundings without any bright or invented artificial light sources.",
            "applies_to_shots": [
              3,
              4
            ],
            "element_scope": "full",
            "source_facts": [
              "Low natural ambient visibility appropriate to the nighttime exterior",
              "Low nighttime ambient visibility isolates the half-open doorway through restrained contrast"
            ],
            "visual_inferences": [
              "Heavy, deep shadows conceal the corners of the walls and the lower steps.",
              "The overall color palette is subdued, relying on moonlight or very distant street glow."
            ],
            "creative_decisions": [
              "Using a high-contrast shadow ratio to heighten the suspense and visually support the threatening atmosphere of the scene."
            ],
            "confidence": "high"
          },
          {
            "element_id": "villa_exterior_architecture",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The narrow, aged exterior structure of the multi-family residential building. It features steep steps and rough, utilitarian concrete or plastered walls that closely frame the passage leading up to the rooftop entrance.",
            "applies_to_shots": [
              3,
              4
            ],
            "element_scope": "full",
            "source_facts": [
              "staircase",
              "rooftop-room entrance structure retained to establish scale",
              "다세대 빌라 문을 열고 들어와... 옥탑방과 연결되는 계단"
            ],
            "visual_inferences": [
              "The walls have a slightly worn and unpolished texture typical of older residential rooftops.",
              "The space feels enclosed and claustrophobic due to the narrow width of the stairs."
            ],
            "creative_decisions": [
              "Framing the architectural lines to create a natural choke point that directs the viewer's attention toward the anomaly at the top."
            ],
            "confidence": "medium"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 12,
        "analysis_summary": "선택된 샷들은 민숙의 상체, 손, 그리고 벽면 표식으로 각각 시각적 초점이 다릅니다. 인물의 신체는 샷마다 다른 부위(전체 상체 vs 국소적인 손)를 비추므로 스코프 충돌을 피하기 위해 단일 고정 요소에서 제외되었으나, 방 안의 어두운 조명 분위기와 바닥에 흥건한 혈흔은 2개 이상의 샷에 걸쳐 일관되게 유지되는 환경 요소로 추출되었습니다.",
        "fixed_elements": [
          {
            "element_id": "dim_room_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The room features dim, low-key ambient lighting that relies on muted neutral tones. The absence of strong directional light creates soft but deep shadows, allowing deep crimson elements within the room to stand out with an eerie and uncanny contrast.",
            "applies_to_shots": [
              6,
              9,
              12
            ],
            "element_scope": "full",
            "source_facts": [
              "Low room ambience uses muted neutrals and deep crimson",
              "keeps the evidence tactile and subdued",
              "isolates the deep crimson mark against muted neutral surroundings with solemn, uncanny contrast and no added light source"
            ],
            "visual_inferences": [
              "The shadows wrap around the environment, creating a highly oppressive and horrifying atmosphere without completely obscuring the crucial details."
            ],
            "creative_decisions": [
              "Maintain a consistent low-key exposure across all shots to ensure the supernatural and horrific elements visually pop against the dark background."
            ],
            "confidence": "high"
          },
          {
            "element_id": "blood_on_floor",
            "element_type": "environment_state",
            "character_name": "",
            "description": "Pools and smears of dark, deep crimson blood are scattered across the floor. The wet blood heavily stains the muted, neutral-toned surface of the floor, standing out clearly in the dim lighting as prominent evidence of recent violence.",
            "applies_to_shots": [
              6,
              9
            ],
            "element_scope": "full",
            "source_facts": [
              "여기저기 핏자국. 바닥에 흥건한 혈흔.",
              "explicitly visible blood",
              "narrow strip of the nearby floor visible",
              "restrained crimson from the scene’s blood"
            ],
            "visual_inferences": [
              "The blood retains a fresh, wet appearance that subtly catches the sparse ambient light, enhancing the gruesome feeling of the space."
            ],
            "creative_decisions": [
              "Ensure the floor blood forms stark, organic shapes that violently disrupt the mundane texture of the room's floor."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 13,
        "analysis_summary": "두 샷은 각각 다른 인물(수리영, 혜수)을 단독으로 비추고 있어 공통으로 등장하는 인물은 없습니다. 그러나 두 샷 모두 경찰차의 붉은 경광등 불빛이 화면의 조명 요소로 명시되어 있으므로, 이를 연속성이 필요한 환경 조명 상태로 추출했습니다.",
        "fixed_elements": [
          {
            "element_id": "police_beacon_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A dark, moody night environment is intermittently illuminated by the sweeping red light of a police vehicle's beacon. The moving emergency light casts shifting, stark contrasts and tense shadows across the surroundings and any visible subjects, acting as a continuous atmospheric presence.",
            "applies_to_shots": [
              2,
              5
            ],
            "element_scope": "full",
            "source_facts": [
              "Scene text: 동시에 사이렌이 울리고~.",
              "Shot 2: Low-to-mid brightness is punctuated by the police car's moving red beacon, producing tense contrast.",
              "Shot 5: Moody night exposure... with any established police-beacon red kept as a restrained intermittent accent."
            ],
            "visual_inferences": [
              "The sweeping motion of the red beacon creates dynamic but consistent lighting conditions, establishing a tense atmosphere."
            ],
            "creative_decisions": [
              "Emphasized the stark contrasts and deep shadows to heighten the emotional intensity of the night scene."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 14,
        "analysis_summary": "3번 샷은 핏자국이 사라진 깨끗한 방을, 4번 샷은 빈 커튼 쪽을 보며 충격에 빠진 수리영을 비추고 있으므로, 사건의 흔적이 전혀 없이 비정상적으로 말끔한 방의 상태와 차분한 조명 톤이 두 샷에 걸쳐 공통된 환경 요소로 유지되어야 합니다.",
        "fixed_elements": [
          {
            "element_id": "unnaturally_clean_room_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The bedroom interior is maintained in an excessively clean and tidy state, completely devoid of any bloodstains, red symbols, or signs of a struggle. The room is illuminated by restrained, low-to-mid neutral lighting with firm contrast, creating a subdued and subtly eerie atmosphere that remains consistent across the space.",
            "applies_to_shots": [
              3,
              4
            ],
            "element_scope": "full",
            "source_facts": [
              "지나칠 정도로 깨끗하게 정돈된 방안",
              "핏자국이나 붉은 표식 없이 지나치게 깨끗하게 정돈된 침대와 벽면",
              "Low-to-mid interior exposure uses restrained neutral color",
              "Restrained low-to-mid interior light"
            ],
            "visual_inferences": [
              "The unnatural neatness extends to all visible areas, including the bed, walls, and curtain space, highlighting the inexplicable disappearance of the body and evidence."
            ],
            "creative_decisions": [
              "A subdued and neutral lighting setup is used to emphasize the stark, unsettling emptiness of the room, contrasting with the intense psychological shock of the character."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 15,
        "analysis_summary": "수리영이 버스정류장 벤치에 앉아있는 1번 샷과 해안도로를 달려가는 4번 샷에서 인물의 자세는 변하지만, 어두운 밤바다와 해안가의 저조도 환경 톤은 공통으로 유지됩니다.",
        "fixed_elements": [
          {
            "element_id": "dark_coastal_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The environment is a dark coastal area at night. The setting maintains a moody and low-brightness atmosphere, featuring subdued coastal neutral tones and restrained contrast without any prominent, unestablished artificial light source.",
            "applies_to_shots": [
              1,
              4
            ],
            "element_scope": "full",
            "source_facts": [
              "등장 요소: L13(해안가의 낡은 버스정류장 일대) in both shots",
              "어두운 밤바다를 배경으로",
              "The night scene remains moody and low in brightness",
              "subdued coastal neutrals and controlled contrast",
              "어둠이 깔린 해안도로",
              "Low night exposure renders... restrained coastal tonal separation"
            ],
            "visual_inferences": [
              "The general dark night coastal surroundings remain visually cohesive despite the camera moving from the bus stop bench to the adjacent coastal road."
            ],
            "creative_decisions": [
              "Keeping the environmental lighting low and moody to emphasize the character's isolation and dark emotional state."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 16,
        "analysis_summary": "샷 1과 샷 4에 공통으로 등장하는 혜수의 일관된 얼굴/머리 외양과, 경찰서 사무실 내부의 차분하고 절제된 야간 조명 상태를 고정 요소로 추출했습니다.",
        "fixed_elements": [
          {
            "element_id": "police_office_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The police station office is consistently illuminated with restrained, neutral tones and low-to-mid brightness. The background remains subdued, maintaining a dim and tense late-night atmosphere.",
            "applies_to_shots": [
              1,
              4
            ],
            "element_scope": "full",
            "source_facts": [
              "Office illumination is rendered in restrained neutral tones with low-to-mid brightness",
              "Restrained office light shapes 혜수's eyes... keeping the background subdued."
            ],
            "visual_inferences": [
              "The subdued lighting emphasizes the late-night setting of the police station with minimal active light sources."
            ],
            "creative_decisions": [
              "Using consistent low-key and restrained lighting to visually support the ominous and uneasy mood of the scene."
            ],
            "confidence": "high"
          },
          {
            "element_id": "hyesu_facial_appearance",
            "element_type": "character_state",
            "character_name": "혜수",
            "description": "A Korean female character. Her facial features and hairstyle remain visually fixed across the shots. Her appearance is kept practical and unembellished, maintaining continuity for her visible upper body and face without heavy makeup.",
            "applies_to_shots": [
              1,
              4
            ],
            "element_scope": "close",
            "source_facts": [
              "혜수 상체",
              "혜수의 얼굴 클로즈업"
            ],
            "visual_inferences": [
              "Her practical and unadorned look fits her role as a detective during a late-night shift, avoiding unnecessary accessories."
            ],
            "creative_decisions": [
              "Focused on maintaining a realistic and consistent facial baseline to effectively anchor her shifting, intense expressions."
            ],
            "confidence": "medium"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 17,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "analysis_summary": "세 샷에 공통으로 유지되는 요소는 낮 시간대의 절제된 중성 계열 실내광과 긴장감 있는 명암이다. 수리영의 자세는 샷 2와 8에서 달라지고, 붉은 원과 사진 액자는 각각 한 샷에만 나타나므로 고정 요소에서 제외했다.",
        "fixed_elements": [
          {
            "applies_to_shots": [
              2,
              8,
              10
            ],
            "character_name": "",
            "confidence": "high",
            "creative_decisions": [],
            "description": "The interior remains under subdued daytime ambient illumination with a restrained neutral color palette. Low-to-moderate brightness and controlled facial or object contrast preserve a tense visual atmosphere without introducing a dominant additional light source.",
            "element_id": "continuity_a",
            "element_scope": "full",
            "element_type": "environment_state",
            "source_facts": [
              "The scene heading specifies daytime: \"S#18. 안방 안 / D.\"",
              "Shot 2 uses subdued daytime ambient exposure, restrained neutral color, and facial contrast.",
              "Shot 8 uses moody low-to-mid daytime ambient illumination with restrained neutrals.",
              "Shot 10 retains daytime ambient illumination, muted neutral grading, and tense contrast, with no added source overriding the image."
            ],
            "visual_inferences": []
          }
        ],
        "scene_index": 18,
        "status": "ok"
      },
      {
        "scene_index": 19,
        "analysis_summary": "마트 외부에서 수리영이 CCTV를 확인하고 전화를 거는 과정(샷 4, 5)에서, 인물의 기본 외양 및 복장과 이른 아침의 서늘한 조명 분위기가 두 샷에 걸쳐 일관되게 유지됩니다.",
        "fixed_elements": [
          {
            "element_id": "suriyeong_appearance",
            "element_type": "character_state",
            "character_name": "수리영",
            "description": "A young Korean woman wearing casual attire appropriate for an early morning outing. While her posture and head direction change, her clothing, hairstyle, and overall physical styling remain completely fixed.",
            "applies_to_shots": [
              4,
              5
            ],
            "element_scope": "full",
            "source_facts": [
              "수리영",
              "이른 아침"
            ],
            "visual_inferences": [
              "casual early-morning attire",
              "neat but simple hairstyle"
            ],
            "creative_decisions": [
              "neutral styling to contrast with the suspenseful mood"
            ],
            "confidence": "medium"
          },
          {
            "element_id": "early_morning_exterior_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The outdoor environment next to the market building is illuminated by subdued early-morning ambient light. The atmosphere maintains a coastal-neutral color grading with firm, tense contrast highlighting the subject.",
            "applies_to_shots": [
              4,
              5
            ],
            "element_scope": "full",
            "source_facts": [
              "이른 아침",
              "Early-morning ambient light is treated with subdued coastal-neutral grading",
              "The same subdued early-morning ambience holds steady"
            ],
            "visual_inferences": [
              "shadows are soft but distinctly cool-toned"
            ],
            "creative_decisions": [
              "firm, suspenseful contrast to heighten narrative tension"
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 20,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 21,
        "analysis_summary": "수리영이 책상 방향으로 몸을 기울인 채 내려다보는 자세와, 책상 위에 어지럽게 널브러진 살인 사건 사진들이 샷 5와 7에 걸쳐 일관되게 유지됩니다.",
        "fixed_elements": [
          {
            "element_id": "su_ri_young_forward_posture",
            "element_type": "character_state",
            "character_name": "수리영",
            "description": "A young Korean woman is leaning forward over an office desk. Her head is tilted downward, her gaze fixed intently on the surface below her, and her upper body is held in a slightly tense, perched position.",
            "applies_to_shots": [
              5,
              7
            ],
            "element_scope": "full",
            "source_facts": [
              "perched forward rather than settled",
              "gaze=down",
              "leaning over desk photos"
            ],
            "visual_inferences": [
              "Korean young woman based on the domestic setting",
              "shoulders and upper body appear tense due to her shocked emotional state"
            ],
            "creative_decisions": [
              "maintained the rigid, leaning-forward posture to emphasize her abrupt realization across different camera framings"
            ],
            "confidence": "high"
          },
          {
            "element_id": "scattered_crime_scene_photos",
            "element_type": "persistent_prop",
            "character_name": "",
            "description": "Several physical photographs are scattered unorganized across the surface of an office desk. The printed images lie flat and slightly overlap, displaying vaguely visible, distressing graphic contents.",
            "applies_to_shots": [
              5,
              7
            ],
            "element_scope": "full",
            "source_facts": [
              "혜수 책상위에는 살인사건 확대 사진들이 어지럽게 널려있다",
              "lower edge retains only a soft trace of the photographs she is looking down toward"
            ],
            "visual_inferences": [
              "photos are printed on standard paper, typical for police files",
              "vaguely visible graphic contents to match the horrifying descriptions in the script"
            ],
            "creative_decisions": [
              "haphazard scattering to visually convey the chaotic nature of the ongoing police investigation"
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 22,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 23,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 24,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 25,
        "analysis_summary": "옥탑방 내부의 일관된 해질녘 조명 상태(Shot 3, 7)와, 이야기의 핵심 매개체인 피 묻은 과거 사진의 시각적 디테일(Shot 3, 5)을 공통 요소로 추출했습니다.",
        "fixed_elements": [
          {
            "element_id": "apartment_dusk_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The interior of the old apartment is illuminated by subdued dusk ambient light. This low-to-mid brightness creates restrained contrast throughout the living space.",
            "applies_to_shots": [
              3,
              7
            ],
            "element_scope": "full",
            "source_facts": [
              "Dusk ambient light appropriate to the room keeps the scene subdued",
              "Dusk ambient light maintains low-to-mid brightness, with restrained contrast separating her dark rear silhouette from the open doorway"
            ],
            "visual_inferences": [
              "The ambient light naturally spreads through the interior, casting a somber and dim twilight atmosphere."
            ],
            "creative_decisions": [
              "Maintaining a consistent dusk lighting profile across the interior shots to visually anchor the time of day and the solemn mood."
            ],
            "confidence": "high"
          },
          {
            "element_id": "faded_bloodstained_photograph",
            "element_type": "persistent_prop",
            "character_name": "",
            "description": "An old, faded photograph stained with blood, exhibiting a low-contrast vintage tonality. The photograph's image clearly depicts two young girls sitting in front of a rural restaurant that features a distinctive circular structure on its roof.",
            "applies_to_shots": [
              3,
              5
            ],
            "element_scope": "close",
            "source_facts": [
              "bloodied photograph pinned precisely inside it",
              "faded image... two girls sit across the lower portion with the rural restaurant behind them",
              "the circular roof structure remains clearly separated above the roofline",
              "faded, low-contrast photographic tonality with subdued period color"
            ],
            "visual_inferences": [
              "The physical print of the photograph looks distinctly worn out and aged, maintaining the exact same visual details regardless of the framing distance."
            ],
            "creative_decisions": [
              "Isolating the photograph's visual composition as a persistent detail to ensure the critical memory image remains identical across the different shots."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 26,
        "analysis_summary": "수리영이 포구에서 인우의 배를 만나 탑승을 결정하기까지의 샷들을 분석했습니다. 씬 전반에 걸쳐 일관되게 유지되어야 하는 비가 그친 뒤의 안개 낀 해질 무렵의 환경 상태와, 오랜 시간 포구를 헤매다 지친 수리영의 일관된 외형을 고정 요소로 추출했습니다.",
        "fixed_elements": [
          {
            "element_id": "suriyoung_general_appearance",
            "element_type": "character_state",
            "character_name": "수리영",
            "description": "Suriyoung maintains a consistent appearance across the shots, reflecting her physical exhaustion from wandering around the harbor for hours. Her practical modern coastal clothing and hair show subtle signs of dampness from the recent rain shower and the pervasive thick fog. There are no sudden changes to her attire or overall exhausted demeanor as she moves from sitting on the rocks to interacting with the boat operator.",
            "applies_to_shots": [
              2,
              6,
              8
            ],
            "element_scope": "full",
            "source_facts": [
              "포구를 몇 시간째 돌아다니다 지친.",
              "소나기가 한차례 퍼 붓는가 싶더니, 비는 그치고 안개가 자욱하다."
            ],
            "visual_inferences": [
              "Her clothing and hair appear slightly damp due to the recent heavy rain and the dense, humid coastal fog.",
              "Her posture and facial tension, even when changing positions, carry the heaviness of physical exhaustion."
            ],
            "creative_decisions": [
              "Muted colors are applied to her wardrobe to harmonize with the subdued dusk lighting and her melancholic state."
            ],
            "confidence": "high"
          },
          {
            "element_id": "foggy_dusk_harbor_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The coastal harbor is enveloped in dense, heavy fog immediately following a sudden rain shower. The ambient lighting of the dusk hour is heavily diffused by the mist, resulting in muted coastal neutral tones and subdued contrast throughout the environment. Distant shapes such as the horizon line or other vessels are completely obscured by the thick gray-blue haze.",
            "applies_to_shots": [
              2,
              6,
              8
            ],
            "element_scope": "full",
            "source_facts": [
              "해질 무렵",
              "소나기가 한차례 퍼 붓는가 싶더니, 비는 그치고 안개가 자욱하다.",
              "텅 빈 포구. 안개로 인해 배는 보이지 않고.",
              "Post-rain dusk ambient light is diffused by the dense fog, producing muted coastal neutrals and subdued contrast"
            ],
            "visual_inferences": [
              "The ground surfaces and remaining rocks are visibly wet and reflective due to the recent downpour.",
              "Visibility is severely limited to only a few meters, making the immediate subjects the only distinct visual anchors."
            ],
            "creative_decisions": [
              "Keep the background entirely devoid of distinct geographical features to emphasize the feeling of isolation and emptiness in the harbor."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 27,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      },
      {
        "scene_index": 28,
        "analysis_summary": "해질 무렵의 붉은 노을빛 조명과 바다 위에 고립된 소형 어선(갑판 및 조타실)이라는 환경적 기반이 샷 전반에 걸쳐 일관되게 유지됩니다. 인물들의 자세와 프레이밍(얼굴 클로즈업에서 전신 뒷모습으로)은 샷마다 급격히 변동하므로 고정 요소에서 제외하였습니다.",
        "fixed_elements": [
          {
            "element_id": "sunset_lighting_atmosphere",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The environment is bathed in a distinct late-day sunset illumination. The light source casts a restrained crimson red hue over the open sea and the boat. This low-angle lighting keeps the deck areas subdued in shadow and creates strong backlighting or deep contrasting shadows on any figures present.",
            "applies_to_shots": [
              1,
              5,
              9
            ],
            "element_scope": "full",
            "source_facts": [
              "해질 무렵 붉은 노을빛이 비치는 바다",
              "Red sunset light falls across the sea in a restrained crimson accent",
              "Low sunset illumination keeps the deck subdued",
              "Late-day backlight appropriate to the dusk setting"
            ],
            "visual_inferences": [
              "The sun is very low on the horizon, creating long shadows and high contrast.",
              "The overall color grading of the scene leans heavily into warm, dim reds and muted darks."
            ],
            "creative_decisions": [
              "Using the crimson sunset to visually mirror the rising tension and isolation between the characters."
            ],
            "confidence": "high"
          },
          {
            "element_id": "small_fishing_boat_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A small, utilitarian fishing boat isolated in the middle of the open sea. The vessel features an exposed main deck where characters can stand or sit, and a distinct enclosed wheelhouse structure nearby. The boat maintains a weathered appearance with subdued coastal neutral tones.",
            "applies_to_shots": [
              1,
              5,
              9
            ],
            "element_scope": "full",
            "source_facts": [
              "바다위에 떠있는 소형어선",
              "갑판에 홀로 앉아있다",
              "조타실로 달려가",
              "small fishing boat isolated near the middle of the surrounding water",
              "deck context falling soft behind him",
              "moving toward the wheelhouse"
            ],
            "visual_inferences": [
              "The deck is small enough that a sudden run toward the wheelhouse covers the distance very quickly.",
              "The boat lacks modern luxury features, appearing purely functional for fishing."
            ],
            "creative_decisions": [
              "Emphasizing the vastness of the surrounding ocean to make the small boat feel like a confined, inescapable space for the conflict."
            ],
            "confidence": "high"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 29,
        "analysis_summary": "세 개의 샷(4, 6, 9)에 공통으로 나타나는 조타실 내부의 해 질 녘 빛 상태를 환경 고정 요소로 추출하였으며, 샷 6과 9에서 연속적으로 드러나는 인우의 굳어진 상체와 어깨의 긴장된 자세를 인물 고정 요소로 식별하였습니다.",
        "fixed_elements": [
          {
            "element_id": "wheelhouse_late_day_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The interior environment is bathed in a dim, subdued late-day ambient light. The illumination creates a muted, coastal-neutral color grade with restrained and gentle contrast, completely lacking any bright artificial light sources.",
            "applies_to_shots": [
              4,
              6,
              9
            ],
            "element_scope": "full",
            "source_facts": [
              "Low late-day ambient light appropriate to the wheelhouse preserves subdued neutrals and gentle contrast",
              "Subdued late-day ambient light holds the wheelhouse in tense contrast",
              "Dim late-day ambient illumination keeps both faces in restrained contrast"
            ],
            "visual_inferences": [
              "The natural twilight entering through the wheelhouse windows casts a pervasive, soft shadow over the space without any sharp directional lighting."
            ],
            "creative_decisions": [
              "Maintained a muted, cool-toned ambient glow across all shots to underscore the unsettling, isolated, and tense atmosphere of dusk on a fishing boat."
            ],
            "confidence": "high"
          },
          {
            "element_id": "in_woo_tense_shoulders",
            "element_type": "character_state",
            "character_name": "인우",
            "description": "The man's upper body and shoulders display a noticeably rigid, locked physical posture. His upper torso remains extremely stiff and firmly braced, serving as a solid, steadfast anchor point within the frame.",
            "applies_to_shots": [
              6,
              9
            ],
            "element_scope": "close",
            "source_facts": [
              "rigid shoulder occupying the right foreground",
              "shoulders locked rigid",
              "bracing under her weight"
            ],
            "visual_inferences": [
              "His physical tension is visible through the stiff geometry of his upper body, with his shoulder muscles tightly bracing against the unfolding situation and sudden physical weight."
            ],
            "creative_decisions": [
              "Focused on the unyielding stiffness of his shoulders in close or mid-close framing to visually communicate his internal shock and rigid defensive state."
            ],
            "confidence": "medium"
          }
        ],
        "status": "ok"
      },
      {
        "scene_index": 30,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": [],
        "status": "skipped_single_shot"
      }
    ]
  },
  "step_id": "scene_consistency",
  "run_id": "0f151105-8434-42b9-96d1-4962fb7e9eb0",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-07-18T21:17:28.062739+00:00",
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}