{
  "type": "object",
  "properties": {
    "scene_index": {
      "type": "integer",
      "description": "씬 번호"
    },
    "analysis_summary": {
      "type": "string",
      "description": "교차 샷 일관성 분석 요약 (1-2문장, 한국어)"
    },
    "fixed_elements": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "element_id": {
            "type": "string",
            "description": "고유 ID (snake_case, e.g. dead_woman_by_door)"
          },
          "element_type": {
            "type": "string",
            "enum": ["character_state", "environment_state", "persistent_prop"]
          },
          "character_name": {
            "type": "string",
            "description": "character_state일 때 인물 이름. 그 외 빈 문자열."
          },
          "description": {
            "type": "string",
            "description": "고정 시각 묘사 (영어, 2-4문장, 보통명사만, 엔티티 ID 금지)"
          },
          "applies_to_shots": {
            "type": "array",
            "items": {"type": "integer"},
            "minItems": 2,
            "description": "이 요소가 동일하게 나타나야 할 샷 인덱스 목록 (반드시 2개 이상)"
          }
        },
        "required": ["element_id", "element_type", "character_name", "description", "applies_to_shots"],
        "additionalProperties": false
      }
    }
  },
  "required": ["scene_index", "analysis_summary", "fixed_elements"],
  "additionalProperties": false
}
