{
 "type": "object",
 "additionalProperties": false,
 "required": [
  "layout_narration_en",
  "zone_labels_en",
  "items",
  "excluded_transient_elements"
 ],
 "properties": {
  "layout_narration_en": {
   "type": "string",
   "minLength": 40,
   "description": "부지 전체 공간 서사 (영어) — 요소 연결 관계 중심, 지도 작도 가능 수준"
  },
  "zone_labels_en": {
   "type": "array",
   "minItems": 1,
   "maxItems": 8,
   "items": {
    "type": "string",
    "minLength": 3
   },
   "description": "카메라 배치 구역 라벨 (영어), 씬에서 실제 쓰이는 구역만"
  },
  "items": {
   "type": "array",
   "minItems": 1,
   "items": {
    "type": "object",
    "additionalProperties": false,
    "required": [
     "code",
     "kind",
     "name_en",
     "placement_en",
     "inferred",
     "evidence",
     "temporal_scope"
    ],
    "properties": {
     "code": {
      "type": "string",
      "pattern": "^[A-Z][0-9]$",
      "description": "대문자1+숫자1 마커 코드, 그룹 내 비중복, 존별 접두 분리"
     },
     "kind": {
      "type": "string",
      "minLength": 2
     },
     "name_en": {
      "type": "string",
      "minLength": 3,
      "description": "ID-free 서술명 — 이름만으로 유일 구별 가능해야 함"
     },
     "placement_en": {
      "type": "string",
      "minLength": 8
     },
     "inferred": {
      "type": "boolean",
      "description": "false=씬 원문/정정 근거 확정, true=물리 성립 최소 추정"
     },
     "evidence": {
      "anyOf": [
       {
        "type": "object",
        "additionalProperties": false,
        "required": [
         "scene_index",
         "quote_ko"
        ],
        "properties": {
         "scene_index": {
          "type": "integer"
         },
         "quote_ko": {
          "type": "string",
          "minLength": 2
         }
        }
       },
       {
        "type": "null"
       }
      ],
      "description": "inferred=false 면 필수 인용, true 면 null"
     },
     "temporal_scope": {
      "type": "string",
      "enum": [
       "persistent_site"
      ],
      "description": "시간 불변 확인 — 마커는 장소에 영속하는 요소만 admitted (계약 감사용)"
     }
    }
   },
   "description": "마커 항목 — 영속 물리 요소만 (v2 시간 불변 계약). 바다/벌판처럼 영속 요소가 적은 부지는 1개도 정당."
  },
  "excluded_transient_elements": {
   "type": "array",
   "description": "시간 불변 계약으로 마커에서 제외한 순간 상태물 감사 목록 (코드 없음)",
   "items": {
    "type": "object",
    "additionalProperties": false,
    "required": [
     "name_en",
     "reason_en"
    ],
    "properties": {
     "name_en": {
      "type": "string",
      "minLength": 3
     },
     "reason_en": {
      "type": "string",
      "minLength": 8
     },
     "evidence": {
      "anyOf": [
       {
        "type": "object",
        "additionalProperties": false,
        "required": [
         "scene_index",
         "quote_ko"
        ],
        "properties": {
         "scene_index": {
          "type": "integer"
         },
         "quote_ko": {
          "type": "string"
         }
        }
       },
       {
        "type": "null"
       }
      ]
     }
    }
   }
  }
 }
}