{
  "status": "completed",
  "applicable_count": 12,
  "completed_count": 12,
  "failed_count": 0,
  "schema_version": 5,
  "config_hash": "40fe7dfee524cec3",
  "data": {
    "plans": {
      "bg_reed_field_warehouse": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S1_Shot3",
                "S1_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l01_reed_field"
              ],
              "loc_id": "L01",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "daytime winter reed field amid a frantic pursuit and Japanese rifle fire",
              "sub_location_label": "겨울 갈대숲 추격 구역",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L01B02"
            },
            {
              "applies_to_shots": [
                "S1_Shot7"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l01_reed_field"
              ],
              "loc_id": "L01",
              "space_key_hint": "main",
              "state_class": "arrival",
              "state_label_raw": "fleeing survivors arriving at and diving through the old salt warehouse entrance",
              "sub_location_label": "갈대숲 속 소금창고 접근로",
              "surface_role": "transition_zone",
              "time_phase": "day",
              "bg_id": "L01B01"
            },
            {
              "applies_to_shots": [
                "S2_Shot3",
                "S2_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l02_warehouse_interior"
              ],
              "loc_id": "L02",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "rough timber warehouse interior breached by soldiers before one is violently dragged outside",
              "sub_location_label": "나무 소금창고 내부와 출입문",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L02B01"
            },
            {
              "applies_to_shots": [
                "S2_Shot6"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l02_warehouse_interior"
              ],
              "loc_id": "L02",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "warehouse interior in shocked silence before the firmly closed wooden door",
              "sub_location_label": "닫힌 문 앞 창고 내부",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L02B02"
            },
            {
              "applies_to_shots": [
                "S3_Shot6",
                "S3_Shot12",
                "S3_Shot15"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l03_main_staging"
              ],
              "loc_id": "L03",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "warehouse forecourt strewn with bloodied Japanese casualties during the entity's death and transfer",
              "sub_location_label": "소금창고 앞 피비린내 나는 공터",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L03B01"
            },
            {
              "applies_to_shots": [
                "S99_Shot1",
                "S99_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l03_main_staging"
              ],
              "loc_id": "L03",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "bright quiet police substation interior during a phone call that turns startling",
              "sub_location_label": "밝은 해안마을 경찰 지구대 내부",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L03B02"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_l01_reed_field",
              "loc_id": "L01",
              "scope": "Winter reed-field pursuit routes and the approach to the wooden salt warehouse.",
              "space_key_hint": "main",
              "sub_location": "winter_reed_field"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l02_warehouse_interior",
              "loc_id": "L02",
              "scope": "Single rough timber warehouse interior, door threshold, and survivor holding area.",
              "space_key_hint": "main",
              "sub_location": "salt_warehouse_interior"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l03_main_staging",
              "loc_id": "L03",
              "scope": "L03 main staging layout for the warehouse forecourt and assigned precinct interior setup.",
              "space_key_hint": "main",
              "sub_location": "main_staging_area"
            }
          ],
          "group_id": "bg_reed_field_warehouse",
          "rationale_summary": "단일 공간 규칙에 따라 위치별 도면을 하나씩 두고, 추격·도착·침입·적막·피의 현장을 분리했다. L03에 배정된 지구대 숏도 main 변형으로 수용했다.",
          "gen_order": [
            "fp_l01_reed_field",
            "fp_l02_warehouse_interior",
            "fp_l03_main_staging",
            "L01B02",
            "L01B01",
            "L02B01",
            "L02B02",
            "L03B01",
            "L03B02"
          ]
        }
      },
      "bg_commuter_bus": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_city_night_street": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_convenience_store": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S6_Shot3",
                "S6_Shot4",
                "S6_Shot7"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L06",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "quiet nighttime conversation beside the convenience store under a black sky",
              "sub_location_label": "편의점 옆 야간 벤치 구역",
              "surface_role": "exterior_plate",
              "time_phase": "night",
              "bg_id": "L06B01"
            },
            {
              "applies_to_shots": [
                "S7_Shot1",
                "S7_Shot6",
                "S7_Shot8"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L08",
              "space_key_hint": "main",
              "state_class": "normal",
              "state_label_raw": "daytime parking area during a tense private conversation and envelope handoff",
              "sub_location_label": "밝은 낮의 경찰서 주차장",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L08B01"
            },
            {
              "applies_to_shots": [
                "S9_Shot3",
                "S9_Shot6"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L08",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "nighttime entry threshold blocked by intruders, with the resident trapped between living room and door",
              "sub_location_label": "다세대 주택 현관과 거실 경계",
              "surface_role": "transition_zone",
              "time_phase": "night",
              "bg_id": "L08B02"
            },
            {
              "applies_to_shots": [
                "S11_Shot2",
                "S11_Shot3"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L07",
              "space_key_hint": "main",
              "state_class": "arrival",
              "state_label_raw": "night alley at the moment a police car with red beacon makes an urgent stop",
              "sub_location_label": "다세대 주택가 야간 골목",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L07B01"
            }
          ],
          "floor_plans": [],
          "group_id": "bg_convenience_store",
          "rationale_summary": "각 location은 single_space라 plan을 하나씩 유지한다. 실제 shot의 물리적 plate에 따라 야외 대화, 주차장, 침입 현관, 차량 도착 상태를 분리했다.",
          "gen_order": [
            "L06B01",
            "L08B01",
            "L08B02",
            "L07B01"
          ]
        }
      },
      "bg_police_station": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S8_Shot1"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L09",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "night exterior during a tense struggle over a thick money envelope",
              "sub_location_label": "편의점 앞 벤치가 보이는 야간 외부",
              "surface_role": "exterior_plate",
              "time_phase": "night",
              "bg_id": "L09B01"
            },
            {
              "applies_to_shots": [
                "S8_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L09",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "still night exterior underscoring an eerie realization and pale frozen expression",
              "sub_location_label": "편의점 앞 벤치 주변 야간 외부",
              "surface_role": "exterior_plate",
              "time_phase": "night",
              "bg_id": "L09B02"
            },
            {
              "applies_to_shots": [
                "S17_Shot1"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L14",
              "space_key_hint": "main",
              "state_class": "normal",
              "state_label_raw": "daytime fishing vessel exterior cutting through vivid blue water and white spray",
              "sub_location_label": "달리는 5톤 낚시 어선 외부 전경",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L14B01"
            },
            {
              "applies_to_shots": [
                "S17_Shot6"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L14",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "quiet daytime deck passage with a fixed view toward the solitary figure at the bow",
              "sub_location_label": "낚시 어선 갑판 통로와 뱃머리",
              "surface_role": "transition_zone",
              "time_phase": "day",
              "bg_id": "L14B02"
            }
          ],
          "floor_plans": [],
          "group_id": "bg_police_station",
          "rationale_summary": "각 single-space 위치에 계획도 1개만 둔다. 샷의 명목 위치와 실제 영상이 달라, 외부·갑판 배경은 일치하지 않는 실내 계획도에 연결하지 않고 행동 상태별로 분리했다.",
          "gen_order": [
            "L09B01",
            "L09B02",
            "L14B01",
            "L14B02"
          ]
        }
      },
      "bg_multifamily_residence": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S10_Shot3",
                "S10_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l10_main"
              ],
              "loc_id": "L10",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "night, near-empty convenience-store interior with Jihoo anxiously handling an urgent message and unanswered call",
              "sub_location_label": "편의점 카운터와 입구 방향",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L10B02"
            },
            {
              "applies_to_shots": [
                "S13_Shot3",
                "S13_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l10_main"
              ],
              "loc_id": "L10",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "night vehicle interior with Sandeul driving and bound captive Jihoo lying across the rear seat",
              "sub_location_label": "구형 SUV 운전석과 뒷좌석",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L10B01"
            },
            {
              "applies_to_shots": [
                "S4_Shot1",
                "S4_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l11_main"
              ],
              "loc_id": "L11",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "night commuter-bus interior with exhausted passengers, streaking city lights, and urgent phone messages",
              "sub_location_label": "퇴근 버스 창가 좌석",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L11B04"
            },
            {
              "applies_to_shots": [
                "S4_Shot8"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l11_main"
              ],
              "loc_id": "L11",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "night bus window manifesting a faint black-smoke face with glowing golden eyes beside unaware Jihoo",
              "sub_location_label": "퇴근 버스 창문과 좌석",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L11B03"
            },
            {
              "applies_to_shots": [
                "S12_Shot2",
                "S12_Shot10"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l11_main"
              ],
              "loc_id": "L11",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "night residence interior wrecked by violence, with broken furniture, shattered fixtures, bloodstains, and an active assault",
              "sub_location_label": "민숙 집의 난장판 거실",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L11B02"
            },
            {
              "applies_to_shots": [
                "S15_Shot3",
                "S15_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l11_main"
              ],
              "loc_id": "L11",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "dawn SUV interior with bound Jihoo awake in the rear seat and Sandeul watching through the rearview mirror",
              "sub_location_label": "새벽의 구형 SUV 실내",
              "surface_role": "interior_room",
              "time_phase": "dawn",
              "bg_id": "L11B01"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_l10_main",
              "loc_id": "L10",
              "scope": "Unified single-space interior layout for all L10-assigned staging and camera anchors.",
              "space_key_hint": "main",
              "sub_location": "main_interior"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l11_main",
              "loc_id": "L11",
              "scope": "Unified single-space staging layout for all L11-assigned action and fixed spatial anchors.",
              "space_key_hint": "main",
              "sub_location": "main_site"
            }
          ],
          "group_id": "bg_multifamily_residence",
          "rationale_summary": "각 single_space 위치에 계획도 1개만 두고, 잘못 교차된 장소 배정은 loc SOT를 유지했다. 밤 장면은 정적·환영·혈흔·침입 상태로 분리하고 새벽 차량 상태를 별도화했다.",
          "gen_order": [
            "fp_l10_main",
            "fp_l11_main",
            "L10B02",
            "L10B01",
            "L11B04",
            "L11B03",
            "L11B02",
            "L11B01"
          ]
        }
      },
      "bg_rural_highway": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_old_suv": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S14_Shot2",
                "S14_Shot3"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L13",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "dusk emergency activity with injured Inwoo seated at the ambulance rear threshold and a detective nearby",
              "sub_location_label": "앰뷸런스 후방 문턱 주변",
              "surface_role": "transition_zone",
              "time_phase": "dusk",
              "bg_id": "L13B03"
            },
            {
              "applies_to_shots": [
                "S16_Shot2",
                "S16_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_old_suv_interior"
              ],
              "loc_id": "L13",
              "space_key_hint": "main",
              "state_class": "evidence_display",
              "state_label_raw": "dusk screen-lit investigative setting with CCTV imagery and a Geumwoldo text message under review",
              "sub_location_label": "모니터와 휴대전화 증거 확인 구역",
              "surface_role": "interior_room",
              "time_phase": "dusk",
              "bg_id": "L13B04"
            },
            {
              "applies_to_shots": [
                "S19_Shot2",
                "S19_Shot7"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L13",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "daylight fishing-boat passenger deck with anglers gathered around Jihu and Sandeul",
              "sub_location_label": "달리는 낚시 어선 승객 갑판",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L13B01"
            },
            {
              "applies_to_shots": [
                "S19_Shot12"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L13",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "dazzling daytime sea with all surrounding islands gone and mystical Geumwoldo standing alone",
              "sub_location_label": "푸른 바다와 금월도 압도적 원경",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L13B02"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_old_suv_interior",
              "loc_id": "L13",
              "scope": "Unified old SUV cabin with seats, dashboard, doors, and close-up camera positions.",
              "space_key_hint": "main",
              "sub_location": "old_suv_cabin"
            }
          ],
          "group_id": "bg_old_suv",
          "rationale_summary": "L13은 single_space라 SUV 실내 평면 1개만 둔다. 장면별 물리 표면과 시간·상태가 달라 응급 문턱, 증거 확인, 선상 갑판, 신비로운 섬 전경으로 분리했다.",
          "gen_order": [
            "fp_old_suv_interior",
            "L13B03",
            "L13B04",
            "L13B01",
            "L13B02"
          ]
        }
      },
      "bg_fishing_boat": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S18_Shot1",
                "S18_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l15_main"
              ],
              "loc_id": "L15",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "dawn flashback framing with subdued, emotionally tense close-ups",
              "sub_location_label": "새벽 회상 클로즈업 구역",
              "surface_role": "interior_room",
              "time_phase": "dawn",
              "bg_id": "L15B01"
            },
            {
              "applies_to_shots": [
                "S20_Shot5",
                "S20_Shot8",
                "S20_Shot11",
                "S55_Shot3",
                "S55_Shot5",
                "S55_Shot7"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L15",
              "space_key_hint": "main",
              "state_class": "arrival",
              "state_label_raw": "daytime island arrival area with contrasting jubilant and hostile receptions",
              "sub_location_label": "선착장과 어선 도착 구역",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L15B02"
            },
            {
              "applies_to_shots": [
                "S103_Shot2",
                "S103_Shot3"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L15",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "dusk wave-washed rocky edge, empty and somber around the exhausted survivor",
              "sub_location_label": "해상 갯바위 인접 외부",
              "surface_role": "site_surface",
              "time_phase": "dusk",
              "bg_id": "L15B03"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_l15_main",
              "loc_id": "L15",
              "scope": "Unified L15 main staging footprint for deck, boarding edge, and assigned close-up blocking.",
              "space_key_hint": "main",
              "sub_location": "fishing_boat_exterior_deck"
            }
          ],
          "group_id": "bg_fishing_boat",
          "rationale_summary": "L15와 L16은 single_space라 각각 단일 도면으로 유지했다. 배경은 새벽 회상, 낮 도착, 저녁의 고립된 해안 상태로 구분했다.",
          "gen_order": [
            "fp_l15_main",
            "L15B01",
            "L15B02",
            "L15B03"
          ]
        }
      },
      "bg_island_dock": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_restaurant_property": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S22_Shot2"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L18",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "supernatural night with village flowers rapidly withered under deep darkness",
              "sub_location_label": "기이하게 시든 마을 일각",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L18B04"
            },
            {
              "applies_to_shots": [
                "S25_Shot1"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L18",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "silent night at a vast natural cave mouth reinforced with rough timber posts",
              "sub_location_label": "숲속 자연동굴 입구",
              "surface_role": "exterior_plate",
              "time_phase": "night",
              "bg_id": "L18B06"
            },
            {
              "applies_to_shots": [
                "S49_Shot6",
                "S49_Shot8"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l18_restaurant_interior"
              ],
              "loc_id": "L18",
              "space_key_hint": "main",
              "state_class": "evidence_display",
              "state_label_raw": "night restaurant table where detectives inspect CCTV evidence on a phone",
              "sub_location_label": "밤바다가 보이는 식당 객석",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L18B05"
            },
            {
              "applies_to_shots": [
                "S64_Shot2"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L18",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "moonless dark pine forest path occupied by a red-robed ritual procession",
              "sub_location_label": "해송 숲길",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L18B03"
            },
            {
              "applies_to_shots": [
                "S85_Shot4",
                "S85_Shot6"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L18",
              "space_key_hint": "main",
              "state_class": "arrival",
              "state_label_raw": "sunlit harbor approach with gear shed lookout and police patrol boat arriving fast",
              "sub_location_label": "선착장과 어구 창고 앞바다",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L18B01"
            },
            {
              "applies_to_shots": [
                "S92_Shot3"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L18",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "golden dusk view from the restaurant front toward an apparently waiting mother on the pier",
              "sub_location_label": "식당 앞에서 보이는 노을 진 선착장",
              "surface_role": "exterior_plate",
              "time_phase": "dusk",
              "bg_id": "L18B02"
            },
            {
              "applies_to_shots": [
                "S27_Shot2",
                "S27_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l23_backyard"
              ],
              "loc_id": "L23",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "candlelit hidden altar with a blood-filled bowl, black goat head and lurking ceiling silhouette",
              "sub_location_label": "뒤뜰 창고의 비밀 제단 구역",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L23B03"
            },
            {
              "applies_to_shots": [
                "S29_Shot1",
                "S67_Shot3",
                "S67_Shot8",
                "S67_Shot9"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L23",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "lightless pine forest path revealed only by handheld phone or flashlight beams",
              "sub_location_label": "뒤뜰에서 이어지는 어두운 숲길",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L23B06"
            },
            {
              "applies_to_shots": [
                "S29_Shot3",
                "S29_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L23",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "dark forest cover where a hidden figure suddenly grabs and silences the watcher",
              "sub_location_label": "숲길 옆 수풀 은신처",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L23B05"
            },
            {
              "applies_to_shots": [
                "S38_Shot1",
                "S38_Shot7"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L23",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "active daytime pier with decorated fishing boat, working villagers and approaching youths",
              "sub_location_label": "낚시 어선이 정박한 선착장",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L23B01"
            },
            {
              "applies_to_shots": [
                "S73_Shot4",
                "S73_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L23",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "crowded nocturnal ritual ground with bonfire, altar, musicians and urgent messengers",
              "sub_location_label": "숲속 만월제 도당",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L23B04"
            },
            {
              "applies_to_shots": [
                "S93_Shot5",
                "S93_Shot8",
                "S93_Shot10"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L23",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "golden dusk pier transformed into a horrifying vision of Youngran holding Minsuk's wet corpse",
              "sub_location_label": "노을 진 선착장 끝",
              "surface_role": "site_surface",
              "time_phase": "dusk",
              "bg_id": "L23B02"
            },
            {
              "applies_to_shots": [
                "S28_Shot2"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L24",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "pitch-black unlit threshold from the backyard toward the mountain forest road",
              "sub_location_label": "창고 밖 숲길 진입부",
              "surface_role": "transition_zone",
              "time_phase": "night",
              "bg_id": "L24B01"
            },
            {
              "applies_to_shots": [
                "S37_Shot4",
                "S37_Shot5",
                "S37_Shot10"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l30_back_room"
              ],
              "loc_id": "L30",
              "space_key_hint": "main",
              "state_class": "clean_after",
              "state_label_raw": "daylit storage and back-room area restored to ordinary use with every altar trace removed",
              "sub_location_label": "제단 흔적이 사라진 식당 뒷방",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L30B01"
            },
            {
              "applies_to_shots": [
                "S51_Shot2",
                "S51_Shot7"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l30_back_room"
              ],
              "loc_id": "L30",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "dim enclosed holding chamber with rough walls, low bulb and a chained captive",
              "sub_location_label": "어두운 감금 공간",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L30B02"
            },
            {
              "applies_to_shots": [
                "S66_Shot1",
                "S109_Shot2"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L53",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "chaotic night exterior dominated by fire, smoke, frantic activity and agitated black goats",
              "sub_location_label": "불타는 부지와 인접 염소 축사",
              "surface_role": "exterior_plate",
              "time_phase": "night",
              "bg_id": "L53B02"
            },
            {
              "applies_to_shots": [
                "S94_Shot2",
                "S94_Shot7"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l53_restaurant_front"
              ],
              "loc_id": "L53",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "daylit rough-walled confinement space where injured captives are chained apart",
              "sub_location_label": "쇠사슬 감금 구역",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L53B01"
            },
            {
              "applies_to_shots": [
                "S107_Shot3"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L53",
              "space_key_hint": "main",
              "state_class": "busy_exit",
              "state_label_raw": "lightless forest escape route crowded by whipping branches and dense undergrowth",
              "sub_location_label": "깜깜한 숲속 도주로",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L53B03"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_l18_restaurant_interior",
              "loc_id": "L18",
              "scope": "Single restaurant interior with dining area, window views, entrances and service circulation.",
              "space_key_hint": "main",
              "sub_location": "restaurant_interior"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l23_backyard",
              "loc_id": "L23",
              "scope": "Unified backyard site with rear door, storage structure, work area and outward paths.",
              "space_key_hint": "main",
              "sub_location": "restaurant_backyard"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l30_back_room",
              "loc_id": "L30",
              "scope": "Single enclosed back-room footprint with storage, holding positions and access door.",
              "space_key_hint": "main",
              "sub_location": "restaurant_back_room"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l53_restaurant_front",
              "loc_id": "L53",
              "scope": "Unified restaurant-front footprint with facade, entrance, forecourt and enclosed threshold zone.",
              "space_key_hint": "main",
              "sub_location": "restaurant_front"
            }
          ],
          "group_id": "bg_restaurant_property",
          "rationale_summary": "각 single_space 위치에 계획 1개를 두고, 잘못 교차된 듯한 shot loc도 입력 SOT를 유지했다. 시간·상태별로 통합하며 제단 혈흔, 흔적 삭제, 화재, 도착, 환영을 구분했다.",
          "gen_order": [
            "fp_l18_restaurant_interior",
            "fp_l23_backyard",
            "fp_l30_back_room",
            "fp_l53_restaurant_front",
            "L18B04",
            "L18B06",
            "L18B05",
            "L18B03",
            "L18B01",
            "L18B02",
            "L23B03",
            "L23B06",
            "L23B05",
            "L23B01",
            "L23B04",
            "L23B02",
            "L24B01",
            "L30B01",
            "L30B02",
            "L53B02",
            "L53B01",
            "L53B03"
          ]
        }
      },
      "bg_island_village": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_pine_forest_route": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_forest_cave": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S26_Shot3",
                "S26_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L22",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "nighttime covert listening and peeking at a dimly lit shed doorway",
              "sub_location_label": "허름한 창고 문 앞",
              "surface_role": "transition_zone",
              "time_phase": "night",
              "bg_id": "L22B02"
            },
            {
              "applies_to_shots": [
                "S71_Shot2",
                "S71_Shot14",
                "S71_Shot18"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l22_cave_entrance"
              ],
              "loc_id": "L22",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "flashlight-lit cave floor strewn with human remains and a chained captive in a dark corner",
              "sub_location_label": "인골 바닥과 쇠사슬 포로 구석",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L22B01"
            },
            {
              "applies_to_shots": [
                "S52_Shot2",
                "S52_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L35",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "moonlit forest ritual clearing dominated by a giant rock smeared with dark animal blood",
              "sub_location_label": "피 묻은 거대 바위 제단 공터",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L35B04"
            },
            {
              "applies_to_shots": [
                "S72_Shot2",
                "S72_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L35",
              "space_key_hint": "main",
              "state_class": "ransacked",
              "state_label_raw": "night exterior with a completely burned shed still releasing dark smoke",
              "sub_location_label": "전소된 창고 앞",
              "surface_role": "exterior_plate",
              "time_phase": "night",
              "bg_id": "L35B06"
            },
            {
              "applies_to_shots": [
                "S76_Shot1",
                "S76_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L35",
              "space_key_hint": "main",
              "state_class": "arrival",
              "state_label_raw": "moonlit forest approach leading from the dark road across the open slaughterhouse threshold",
              "sub_location_label": "숲길과 염소 도축장 입구",
              "surface_role": "transition_zone",
              "time_phase": "night",
              "bg_id": "L35B03"
            },
            {
              "applies_to_shots": [
                "S96_Shot1",
                "S96_Shot4",
                "S98_Shot2",
                "S98_Shot5",
                "S98_Shot6"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l35_cave_interior"
              ],
              "loc_id": "L35",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "daytime cave captivity chamber with chained prisoners, dark stone floor, and lantern illumination",
              "sub_location_label": "쇠사슬 감금 동굴 방",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L35B02"
            },
            {
              "applies_to_shots": [
                "S100_Shot3",
                "S100_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L35",
              "space_key_hint": "main",
              "state_class": "arrival",
              "state_label_raw": "daytime island dock arrival with a black van, gathered women, fishing boat, and harbor edge",
              "sub_location_label": "해안마을 선착장",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L35B01"
            },
            {
              "applies_to_shots": [
                "S104_Shot1",
                "S104_Shot3",
                "S104_Shot7"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L35",
              "space_key_hint": "main",
              "state_class": "busy_exit",
              "state_label_raw": "night restaurant-front approach during a panicked retreat and predatory attack from the village road",
              "sub_location_label": "식당 문턱과 마을 진입로",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L35B05"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_l22_cave_entrance",
              "loc_id": "L22",
              "scope": "Single cave-mouth space with threshold, bone-strewn floor, and chained captive alcove",
              "space_key_hint": "main",
              "sub_location": "cave_entrance_space"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l35_cave_interior",
              "loc_id": "L35",
              "scope": "Single cave chamber with restraint area, stone floor, and lantern entry route",
              "space_key_hint": "main",
              "sub_location": "cave_interior_chamber"
            }
          ],
          "group_id": "bg_forest_cave",
          "rationale_summary": "각 single_space에 평면을 하나씩 두고, 잘못 혼재된 촬영지 표기는 shot 의미에 따라 표면 역할을 판정했다. 밤의 침입·혈흔·화재·도착·탈출과 낮의 감금·선착장을 분리했다.",
          "gen_order": [
            "fp_l22_cave_entrance",
            "fp_l35_cave_interior",
            "L22B02",
            "L22B01",
            "L35B04",
            "L35B06",
            "L35B03",
            "L35B02",
            "L35B01",
            "L35B05"
          ]
        }
      },
      "bg_forest_slaughter_complex": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S32_Shot1",
                "S32_Shot10",
                "S32_Shot13"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l25_goat_shed"
              ],
              "loc_id": "L25",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "nighttime covert observation through a broken window, interrupted by a bloody slaughter and discovery",
              "sub_location_label": "염소 축사 외벽과 깨진 창 너머 도축 공간",
              "surface_role": "transition_zone",
              "time_phase": "night",
              "bg_id": "L25B03"
            },
            {
              "applies_to_shots": [
                "S59_Shot6",
                "S59_Shot12",
                "S59_Shot16"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l25_goat_shed"
              ],
              "loc_id": "L25",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "daylit storage area with blood-soaked sacks, severed remains, and occupants hiding behind a closed door",
              "sub_location_label": "축사 내부 포대 창고와 문턱",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L25B01"
            },
            {
              "applies_to_shots": [
                "S112_Shot6",
                "S112_Shot8",
                "S112_Shot16"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L25",
              "space_key_hint": "main",
              "state_class": "clean_after",
              "state_label_raw": "bright peaceful departure setting after the violence, with boat boarding and a restrained farewell",
              "sub_location_label": "선착장과 낚시 어선 승선 지점",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L25B02"
            },
            {
              "applies_to_shots": [
                "S33_Shot6",
                "S33_Shot12",
                "S33_Shot13"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l26_approach"
              ],
              "loc_id": "L26",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "night forest approach where an apparent rescuer blocks the path and reveals a predatory transformation",
              "sub_location_label": "도축장 진입 오솔길과 숲 경계",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L26B02"
            },
            {
              "applies_to_shots": [
                "S77_Shot1",
                "S77_Shot8",
                "S77_Shot10"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l26_approach"
              ],
              "loc_id": "L26",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "dark slaughter staging bay with buckets of goat blood used to drench and disguise the fugitives",
              "sub_location_label": "진입부에 연결된 어두운 도축 작업 공간",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L26B01"
            },
            {
              "applies_to_shots": [
                "S45_Shot3",
                "S45_Shot8",
                "S45_Shot10"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L27",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "secluded daytime forest path during a tense private confession, submission, and embrace",
              "sub_location_label": "도축장 주변 숲길의 한적한 대화 지점",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L27B02"
            },
            {
              "applies_to_shots": [
                "S60_Shot6",
                "S60_Shot9"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L27",
              "space_key_hint": "main",
              "state_class": "evidence_display",
              "state_label_raw": "daytime coastal rocks displaying a wave-tossed human corpse while photographic evidence is recorded",
              "sub_location_label": "도축장 권역 해안 바위길과 시체 발견 지점",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L27B01"
            },
            {
              "applies_to_shots": [
                "S78_Shot1",
                "S78_Shot4",
                "S78_Shot9"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L27",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "night ritual ground active with urgent search orders, firelight, and a blood-colored standing rock",
              "sub_location_label": "숲속 만월제 도당과 핏빛 바위",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L27B04"
            },
            {
              "applies_to_shots": [
                "S111_Shot11",
                "S111_Shot14",
                "S111_Shot19"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L27",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "moonlit ritual-ground aftermath filled with corpses, blood pools, demonic smoke, and the final exorcism",
              "sub_location_label": "만월제 도당의 대량 살육 현장",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L27B03"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_l25_goat_shed",
              "loc_id": "L25",
              "scope": "Goat-shed footprint, viewing window, slaughter work area, storage bay, and connecting doorway",
              "space_key_hint": "main",
              "sub_location": "goat_shed_compound"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l26_approach",
              "loc_id": "L26",
              "scope": "Slaughterhouse approach, forest-road edge, entry threshold, and connected dark staging bay",
              "space_key_hint": "main",
              "sub_location": "slaughterhouse_approach"
            }
          ],
          "group_id": "bg_forest_slaughter_complex",
          "rationale_summary": "각 single_space 위치에 평면 1개만 두고, 잠입·혈흔·증거·의식·참극 이후의 상태를 시간대별로 분리했다. 외부 숲길·해안·도당은 site plate로 처리했다.",
          "gen_order": [
            "fp_l25_goat_shed",
            "fp_l26_approach",
            "L25B03",
            "L25B01",
            "L25B02",
            "L26B02",
            "L26B01",
            "L27B02",
            "L27B01",
            "L27B04",
            "L27B03"
          ]
        }
      },
      "bg_compact_car": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_dream_forest_trail": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_roadside_gas_station": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_mainland_harbor_dock": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_seaside_restaurant_terrace": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_night_sea": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_forest_ritual_clearing": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_island_coastal_path": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_police_patrol_boat": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S63_Shot2"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_patrol_boat_deck"
              ],
              "loc_id": "L38",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "night exterior under ominous hostile surveillance",
              "sub_location_label": "경찰 순찰정 외부 및 갑판",
              "surface_role": "exterior_plate",
              "time_phase": "night",
              "bg_id": "L38B04"
            },
            {
              "applies_to_shots": [
                "S63_Shot8",
                "S63_Shot14"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_patrol_boat_deck"
              ],
              "loc_id": "L38",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "night scene dominated by dripping blood, bloodied hands, and panic",
              "sub_location_label": "경찰 순찰정 외부 및 갑판",
              "surface_role": "exterior_plate",
              "time_phase": "night",
              "bg_id": "L38B03"
            },
            {
              "applies_to_shots": [
                "S89_Shot1"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_patrol_boat_deck"
              ],
              "loc_id": "L38",
              "space_key_hint": "main",
              "state_class": "arrival",
              "state_label_raw": "patrol boat approaching through the water at dusk",
              "sub_location_label": "다가오는 경찰 순찰정 외부",
              "surface_role": "exterior_plate",
              "time_phase": "dusk",
              "bg_id": "L38B01"
            },
            {
              "applies_to_shots": [
                "S90_Shot1",
                "S90_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_patrol_boat_deck"
              ],
              "loc_id": "L38",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "deserted setting in muted reddish sunset light",
              "sub_location_label": "경찰 순찰정 외부 및 갑판",
              "surface_role": "exterior_plate",
              "time_phase": "dusk",
              "bg_id": "L38B02"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_patrol_boat_deck",
              "loc_id": "L38",
              "scope": "Patrol boat exterior envelope, open deck, railings, and circulation geometry",
              "space_key_hint": "main",
              "sub_location": "exterior_deck"
            }
          ],
          "group_id": "bg_police_patrol_boat",
          "rationale_summary": "L38과 L39는 single_space라 각각 단일 도면을 둔다. L38은 야간 침입감·혈흔, 해질녘 도착·적막 상태로 구분한다.",
          "gen_order": [
            "fp_patrol_boat_deck",
            "L38B04",
            "L38B03",
            "L38B01",
            "L38B02"
          ]
        }
      },
      "bg_island_rocky_shore": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_dock_gear_warehouse": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S81_Shot1",
                "S81_Shot10",
                "S81_Shot12"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l41_main"
              ],
              "loc_id": "L41",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "nighttime warehouse interior during a tense, tearful family revelation",
              "sub_location_label": "선착장 어구 창고 내부",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L41B03"
            },
            {
              "applies_to_shots": [
                "S83_Shot4",
                "S83_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l41_main"
              ],
              "loc_id": "L41",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "daytime enclosed interior with cold, watchful tension as the search continues outside",
              "sub_location_label": "L41 메인 실내",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L41B02"
            },
            {
              "applies_to_shots": [
                "S86_Shot7",
                "S86_Shot12"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L41",
              "space_key_hint": "main",
              "state_class": "busy_exit",
              "state_label_raw": "daytime dock escape with fugitives boarding a patrol boat and villagers charging after them",
              "sub_location_label": "창고 앞 선착장과 순찰정 접안 구역",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L41B01"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_l41_main",
              "loc_id": "L41",
              "scope": "Unified single-space plan for all assigned L41 enclosed interior staging and access points.",
              "space_key_hint": "main",
              "sub_location": "dock_gear_warehouse_main"
            }
          ],
          "group_id": "bg_dock_gear_warehouse",
          "rationale_summary": "L41은 single_space라 메인 평면 하나만 사용한다. 밤의 조용한 고백, 낮의 긴장된 실내, 선착장 탈출 소동을 시간·상태별 배경으로 분리한다.",
          "gen_order": [
            "fp_l41_main",
            "L41B03",
            "L41B02",
            "L41B01"
          ]
        }
      },
      "bg_famine_dry_field": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_famine_dirt_road": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_famine_thatched_house": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_historic_government_courtyard": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_historic_mountain_path": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_burning_mountain_village": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_historic_sailing_boat": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_historic_island_beach": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_island_open_sea": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_island_sea_cliff": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_rural_police_outpost": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S101_Shot1"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L55",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "bright daytime fishing-boat deck packed with bar women and anglers",
              "sub_location_label": "만원인 낚시 어선 갑판",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L55B01"
            },
            {
              "applies_to_shots": [
                "S101_Shot6",
                "S101_Shot9"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L55",
              "space_key_hint": "main",
              "state_class": "normal",
              "state_label_raw": "bright daytime dockside conversation with fishing boat nearby",
              "sub_location_label": "어선 옆 선착장",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L55B02"
            }
          ],
          "floor_plans": [],
          "group_id": "bg_rural_police_outpost",
          "rationale_summary": "L55는 single_space라 내부 평면 1개만 둔다. 실제 지정 숏은 대낮의 어선·선착장 외부이므로 혼잡 갑판과 일반 선착장 상태를 별도 exterior plate로 구분한다.",
          "gen_order": [
            "L55B01",
            "L55B02"
          ]
        }
      }
    },
    "background_catalog": {
      "L01B01": {
        "bg_id": "L01B01",
        "loc_id": "L01",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "arrival",
        "surface_role": "transition_zone",
        "semantic_key": "L01|main|day|arrival",
        "depends_on_fp": [
          "fp_l01_reed_field"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S1_Shot7"
        ],
        "sub_location_label": "갈대숲 속 소금창고 접근로",
        "state_label_raw": "fleeing survivors arriving at and diving through the old salt warehouse entrance"
      },
      "L01B02": {
        "bg_id": "L01B02",
        "loc_id": "L01",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "busy",
        "surface_role": "site_surface",
        "semantic_key": "L01|main|day|busy",
        "depends_on_fp": [
          "fp_l01_reed_field"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S1_Shot3",
          "S1_Shot5"
        ],
        "sub_location_label": "겨울 갈대숲 추격 구역",
        "state_label_raw": "daytime winter reed field amid a frantic pursuit and Japanese rifle fire"
      },
      "L02B01": {
        "bg_id": "L02B01",
        "loc_id": "L02",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "intrusion",
        "surface_role": "interior_room",
        "semantic_key": "L02|main|day|intrusion",
        "depends_on_fp": [
          "fp_l02_warehouse_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S2_Shot3",
          "S2_Shot5"
        ],
        "sub_location_label": "나무 소금창고 내부와 출입문",
        "state_label_raw": "rough timber warehouse interior breached by soldiers before one is violently dragged outside"
      },
      "L02B02": {
        "bg_id": "L02B02",
        "loc_id": "L02",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "quiet",
        "surface_role": "interior_room",
        "semantic_key": "L02|main|day|quiet",
        "depends_on_fp": [
          "fp_l02_warehouse_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S2_Shot6"
        ],
        "sub_location_label": "닫힌 문 앞 창고 내부",
        "state_label_raw": "warehouse interior in shocked silence before the firmly closed wooden door"
      },
      "L03B01": {
        "bg_id": "L03B01",
        "loc_id": "L03",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "blood_scene",
        "surface_role": "exterior_plate",
        "semantic_key": "L03|main|day|blood_scene",
        "depends_on_fp": [
          "fp_l03_main_staging"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S3_Shot6",
          "S3_Shot12",
          "S3_Shot15"
        ],
        "sub_location_label": "소금창고 앞 피비린내 나는 공터",
        "state_label_raw": "warehouse forecourt strewn with bloodied Japanese casualties during the entity's death and transfer"
      },
      "L03B02": {
        "bg_id": "L03B02",
        "loc_id": "L03",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "quiet",
        "surface_role": "interior_room",
        "semantic_key": "L03|main|day|quiet",
        "depends_on_fp": [
          "fp_l03_main_staging"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S99_Shot1",
          "S99_Shot4"
        ],
        "sub_location_label": "밝은 해안마을 경찰 지구대 내부",
        "state_label_raw": "bright quiet police substation interior during a phone call that turns startling"
      },
      "L06B01": {
        "bg_id": "L06B01",
        "loc_id": "L06",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "quiet",
        "surface_role": "exterior_plate",
        "semantic_key": "L06|main|night|quiet",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S6_Shot3",
          "S6_Shot4",
          "S6_Shot7"
        ],
        "sub_location_label": "편의점 옆 야간 벤치 구역",
        "state_label_raw": "quiet nighttime conversation beside the convenience store under a black sky"
      },
      "L07B01": {
        "bg_id": "L07B01",
        "loc_id": "L07",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "arrival",
        "surface_role": "site_surface",
        "semantic_key": "L07|main|night|arrival",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S11_Shot2",
          "S11_Shot3"
        ],
        "sub_location_label": "다세대 주택가 야간 골목",
        "state_label_raw": "night alley at the moment a police car with red beacon makes an urgent stop"
      },
      "L08B01": {
        "bg_id": "L08B01",
        "loc_id": "L08",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "normal",
        "surface_role": "site_surface",
        "semantic_key": "L08|main|day|normal",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S7_Shot1",
          "S7_Shot6",
          "S7_Shot8"
        ],
        "sub_location_label": "밝은 낮의 경찰서 주차장",
        "state_label_raw": "daytime parking area during a tense private conversation and envelope handoff"
      },
      "L08B02": {
        "bg_id": "L08B02",
        "loc_id": "L08",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "intrusion",
        "surface_role": "transition_zone",
        "semantic_key": "L08|main|night|intrusion",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S9_Shot3",
          "S9_Shot6"
        ],
        "sub_location_label": "다세대 주택 현관과 거실 경계",
        "state_label_raw": "nighttime entry threshold blocked by intruders, with the resident trapped between living room and door"
      },
      "L09B01": {
        "bg_id": "L09B01",
        "loc_id": "L09",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "busy",
        "surface_role": "exterior_plate",
        "semantic_key": "L09|main|night|busy",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S8_Shot1"
        ],
        "sub_location_label": "편의점 앞 벤치가 보이는 야간 외부",
        "state_label_raw": "night exterior during a tense struggle over a thick money envelope"
      },
      "L09B02": {
        "bg_id": "L09B02",
        "loc_id": "L09",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "quiet",
        "surface_role": "exterior_plate",
        "semantic_key": "L09|main|night|quiet",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S8_Shot5"
        ],
        "sub_location_label": "편의점 앞 벤치 주변 야간 외부",
        "state_label_raw": "still night exterior underscoring an eerie realization and pale frozen expression"
      },
      "L10B01": {
        "bg_id": "L10B01",
        "loc_id": "L10",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "intrusion",
        "surface_role": "interior_room",
        "semantic_key": "L10|main|night|intrusion",
        "depends_on_fp": [
          "fp_l10_main"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S13_Shot3",
          "S13_Shot4"
        ],
        "sub_location_label": "구형 SUV 운전석과 뒷좌석",
        "state_label_raw": "night vehicle interior with Sandeul driving and bound captive Jihoo lying across the rear seat"
      },
      "L10B02": {
        "bg_id": "L10B02",
        "loc_id": "L10",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "quiet",
        "surface_role": "interior_room",
        "semantic_key": "L10|main|night|quiet",
        "depends_on_fp": [
          "fp_l10_main"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S10_Shot3",
          "S10_Shot5"
        ],
        "sub_location_label": "편의점 카운터와 입구 방향",
        "state_label_raw": "night, near-empty convenience-store interior with Jihoo anxiously handling an urgent message and unanswered call"
      },
      "L11B01": {
        "bg_id": "L11B01",
        "loc_id": "L11",
        "space_key": "main",
        "time_phase": "dawn",
        "state_class": "intrusion",
        "surface_role": "interior_room",
        "semantic_key": "L11|main|dawn|intrusion",
        "depends_on_fp": [
          "fp_l11_main"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S15_Shot3",
          "S15_Shot5"
        ],
        "sub_location_label": "새벽의 구형 SUV 실내",
        "state_label_raw": "dawn SUV interior with bound Jihoo awake in the rear seat and Sandeul watching through the rearview mirror"
      },
      "L11B02": {
        "bg_id": "L11B02",
        "loc_id": "L11",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "blood_scene",
        "surface_role": "interior_room",
        "semantic_key": "L11|main|night|blood_scene",
        "depends_on_fp": [
          "fp_l11_main"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S12_Shot2",
          "S12_Shot10"
        ],
        "sub_location_label": "민숙 집의 난장판 거실",
        "state_label_raw": "night residence interior wrecked by violence, with broken furniture, shattered fixtures, bloodstains, and an active assault"
      },
      "L11B03": {
        "bg_id": "L11B03",
        "loc_id": "L11",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "dream_or_vision_state",
        "surface_role": "interior_room",
        "semantic_key": "L11|main|night|dream_or_vision_state",
        "depends_on_fp": [
          "fp_l11_main"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S4_Shot8"
        ],
        "sub_location_label": "퇴근 버스 창문과 좌석",
        "state_label_raw": "night bus window manifesting a faint black-smoke face with glowing golden eyes beside unaware Jihoo"
      },
      "L11B04": {
        "bg_id": "L11B04",
        "loc_id": "L11",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "quiet",
        "surface_role": "interior_room",
        "semantic_key": "L11|main|night|quiet",
        "depends_on_fp": [
          "fp_l11_main"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S4_Shot1",
          "S4_Shot4"
        ],
        "sub_location_label": "퇴근 버스 창가 좌석",
        "state_label_raw": "night commuter-bus interior with exhausted passengers, streaking city lights, and urgent phone messages"
      },
      "L13B01": {
        "bg_id": "L13B01",
        "loc_id": "L13",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "busy",
        "surface_role": "exterior_plate",
        "semantic_key": "L13|main|day|busy",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S19_Shot2",
          "S19_Shot7"
        ],
        "sub_location_label": "달리는 낚시 어선 승객 갑판",
        "state_label_raw": "daylight fishing-boat passenger deck with anglers gathered around Jihu and Sandeul"
      },
      "L13B02": {
        "bg_id": "L13B02",
        "loc_id": "L13",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "dream_or_vision_state",
        "surface_role": "site_surface",
        "semantic_key": "L13|main|day|dream_or_vision_state",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S19_Shot12"
        ],
        "sub_location_label": "푸른 바다와 금월도 압도적 원경",
        "state_label_raw": "dazzling daytime sea with all surrounding islands gone and mystical Geumwoldo standing alone"
      },
      "L13B03": {
        "bg_id": "L13B03",
        "loc_id": "L13",
        "space_key": "main",
        "time_phase": "dusk",
        "state_class": "busy",
        "surface_role": "transition_zone",
        "semantic_key": "L13|main|dusk|busy",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S14_Shot2",
          "S14_Shot3"
        ],
        "sub_location_label": "앰뷸런스 후방 문턱 주변",
        "state_label_raw": "dusk emergency activity with injured Inwoo seated at the ambulance rear threshold and a detective nearby"
      },
      "L13B04": {
        "bg_id": "L13B04",
        "loc_id": "L13",
        "space_key": "main",
        "time_phase": "dusk",
        "state_class": "evidence_display",
        "surface_role": "interior_room",
        "semantic_key": "L13|main|dusk|evidence_display",
        "depends_on_fp": [
          "fp_old_suv_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S16_Shot2",
          "S16_Shot4"
        ],
        "sub_location_label": "모니터와 휴대전화 증거 확인 구역",
        "state_label_raw": "dusk screen-lit investigative setting with CCTV imagery and a Geumwoldo text message under review"
      },
      "L14B01": {
        "bg_id": "L14B01",
        "loc_id": "L14",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "normal",
        "surface_role": "exterior_plate",
        "semantic_key": "L14|main|day|normal",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S17_Shot1"
        ],
        "sub_location_label": "달리는 5톤 낚시 어선 외부 전경",
        "state_label_raw": "daytime fishing vessel exterior cutting through vivid blue water and white spray"
      },
      "L14B02": {
        "bg_id": "L14B02",
        "loc_id": "L14",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "quiet",
        "surface_role": "transition_zone",
        "semantic_key": "L14|main|day|quiet",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S17_Shot6"
        ],
        "sub_location_label": "낚시 어선 갑판 통로와 뱃머리",
        "state_label_raw": "quiet daytime deck passage with a fixed view toward the solitary figure at the bow"
      },
      "L15B01": {
        "bg_id": "L15B01",
        "loc_id": "L15",
        "space_key": "main",
        "time_phase": "dawn",
        "state_class": "dream_or_vision_state",
        "surface_role": "interior_room",
        "semantic_key": "L15|main|dawn|dream_or_vision_state",
        "depends_on_fp": [
          "fp_l15_main"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S18_Shot1",
          "S18_Shot5"
        ],
        "sub_location_label": "새벽 회상 클로즈업 구역",
        "state_label_raw": "dawn flashback framing with subdued, emotionally tense close-ups"
      },
      "L15B02": {
        "bg_id": "L15B02",
        "loc_id": "L15",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "arrival",
        "surface_role": "site_surface",
        "semantic_key": "L15|main|day|arrival",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S20_Shot5",
          "S20_Shot8",
          "S20_Shot11",
          "S55_Shot3",
          "S55_Shot5",
          "S55_Shot7"
        ],
        "sub_location_label": "선착장과 어선 도착 구역",
        "state_label_raw": "daytime island arrival area with contrasting jubilant and hostile receptions"
      },
      "L15B03": {
        "bg_id": "L15B03",
        "loc_id": "L15",
        "space_key": "main",
        "time_phase": "dusk",
        "state_class": "quiet",
        "surface_role": "site_surface",
        "semantic_key": "L15|main|dusk|quiet",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S103_Shot2",
          "S103_Shot3"
        ],
        "sub_location_label": "해상 갯바위 인접 외부",
        "state_label_raw": "dusk wave-washed rocky edge, empty and somber around the exhausted survivor"
      },
      "L18B01": {
        "bg_id": "L18B01",
        "loc_id": "L18",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "arrival",
        "surface_role": "site_surface",
        "semantic_key": "L18|main|day|arrival",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S85_Shot4",
          "S85_Shot6"
        ],
        "sub_location_label": "선착장과 어구 창고 앞바다",
        "state_label_raw": "sunlit harbor approach with gear shed lookout and police patrol boat arriving fast"
      },
      "L18B02": {
        "bg_id": "L18B02",
        "loc_id": "L18",
        "space_key": "main",
        "time_phase": "dusk",
        "state_class": "dream_or_vision_state",
        "surface_role": "exterior_plate",
        "semantic_key": "L18|main|dusk|dream_or_vision_state",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S92_Shot3"
        ],
        "sub_location_label": "식당 앞에서 보이는 노을 진 선착장",
        "state_label_raw": "golden dusk view from the restaurant front toward an apparently waiting mother on the pier"
      },
      "L18B03": {
        "bg_id": "L18B03",
        "loc_id": "L18",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "busy",
        "surface_role": "site_surface",
        "semantic_key": "L18|main|night|busy",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S64_Shot2"
        ],
        "sub_location_label": "해송 숲길",
        "state_label_raw": "moonless dark pine forest path occupied by a red-robed ritual procession"
      },
      "L18B04": {
        "bg_id": "L18B04",
        "loc_id": "L18",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "dream_or_vision_state",
        "surface_role": "site_surface",
        "semantic_key": "L18|main|night|dream_or_vision_state",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S22_Shot2"
        ],
        "sub_location_label": "기이하게 시든 마을 일각",
        "state_label_raw": "supernatural night with village flowers rapidly withered under deep darkness"
      },
      "L18B05": {
        "bg_id": "L18B05",
        "loc_id": "L18",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "evidence_display",
        "surface_role": "interior_room",
        "semantic_key": "L18|main|night|evidence_display",
        "depends_on_fp": [
          "fp_l18_restaurant_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S49_Shot6",
          "S49_Shot8"
        ],
        "sub_location_label": "밤바다가 보이는 식당 객석",
        "state_label_raw": "night restaurant table where detectives inspect CCTV evidence on a phone"
      },
      "L18B06": {
        "bg_id": "L18B06",
        "loc_id": "L18",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "quiet",
        "surface_role": "exterior_plate",
        "semantic_key": "L18|main|night|quiet",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S25_Shot1"
        ],
        "sub_location_label": "숲속 자연동굴 입구",
        "state_label_raw": "silent night at a vast natural cave mouth reinforced with rough timber posts"
      },
      "L22B01": {
        "bg_id": "L22B01",
        "loc_id": "L22",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "blood_scene",
        "surface_role": "interior_room",
        "semantic_key": "L22|main|night|blood_scene",
        "depends_on_fp": [
          "fp_l22_cave_entrance"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S71_Shot2",
          "S71_Shot14",
          "S71_Shot18"
        ],
        "sub_location_label": "인골 바닥과 쇠사슬 포로 구석",
        "state_label_raw": "flashlight-lit cave floor strewn with human remains and a chained captive in a dark corner"
      },
      "L22B02": {
        "bg_id": "L22B02",
        "loc_id": "L22",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "intrusion",
        "surface_role": "transition_zone",
        "semantic_key": "L22|main|night|intrusion",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S26_Shot3",
          "S26_Shot4"
        ],
        "sub_location_label": "허름한 창고 문 앞",
        "state_label_raw": "nighttime covert listening and peeking at a dimly lit shed doorway"
      },
      "L23B01": {
        "bg_id": "L23B01",
        "loc_id": "L23",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "busy",
        "surface_role": "site_surface",
        "semantic_key": "L23|main|day|busy",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S38_Shot1",
          "S38_Shot7"
        ],
        "sub_location_label": "낚시 어선이 정박한 선착장",
        "state_label_raw": "active daytime pier with decorated fishing boat, working villagers and approaching youths"
      },
      "L23B02": {
        "bg_id": "L23B02",
        "loc_id": "L23",
        "space_key": "main",
        "time_phase": "dusk",
        "state_class": "dream_or_vision_state",
        "surface_role": "site_surface",
        "semantic_key": "L23|main|dusk|dream_or_vision_state",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S93_Shot5",
          "S93_Shot8",
          "S93_Shot10"
        ],
        "sub_location_label": "노을 진 선착장 끝",
        "state_label_raw": "golden dusk pier transformed into a horrifying vision of Youngran holding Minsuk's wet corpse"
      },
      "L23B03": {
        "bg_id": "L23B03",
        "loc_id": "L23",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "blood_scene",
        "surface_role": "interior_room",
        "semantic_key": "L23|main|night|blood_scene",
        "depends_on_fp": [
          "fp_l23_backyard"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S27_Shot2",
          "S27_Shot5"
        ],
        "sub_location_label": "뒤뜰 창고의 비밀 제단 구역",
        "state_label_raw": "candlelit hidden altar with a blood-filled bowl, black goat head and lurking ceiling silhouette"
      },
      "L23B04": {
        "bg_id": "L23B04",
        "loc_id": "L23",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "busy",
        "surface_role": "site_surface",
        "semantic_key": "L23|main|night|busy",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S73_Shot4",
          "S73_Shot5"
        ],
        "sub_location_label": "숲속 만월제 도당",
        "state_label_raw": "crowded nocturnal ritual ground with bonfire, altar, musicians and urgent messengers"
      },
      "L23B05": {
        "bg_id": "L23B05",
        "loc_id": "L23",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "intrusion",
        "surface_role": "site_surface",
        "semantic_key": "L23|main|night|intrusion",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S29_Shot3",
          "S29_Shot5"
        ],
        "sub_location_label": "숲길 옆 수풀 은신처",
        "state_label_raw": "dark forest cover where a hidden figure suddenly grabs and silences the watcher"
      },
      "L23B06": {
        "bg_id": "L23B06",
        "loc_id": "L23",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "quiet",
        "surface_role": "site_surface",
        "semantic_key": "L23|main|night|quiet",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S29_Shot1",
          "S67_Shot3",
          "S67_Shot8",
          "S67_Shot9"
        ],
        "sub_location_label": "뒤뜰에서 이어지는 어두운 숲길",
        "state_label_raw": "lightless pine forest path revealed only by handheld phone or flashlight beams"
      },
      "L24B01": {
        "bg_id": "L24B01",
        "loc_id": "L24",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "quiet",
        "surface_role": "transition_zone",
        "semantic_key": "L24|main|night|quiet",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S28_Shot2"
        ],
        "sub_location_label": "창고 밖 숲길 진입부",
        "state_label_raw": "pitch-black unlit threshold from the backyard toward the mountain forest road"
      },
      "L25B01": {
        "bg_id": "L25B01",
        "loc_id": "L25",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "blood_scene",
        "surface_role": "interior_room",
        "semantic_key": "L25|main|day|blood_scene",
        "depends_on_fp": [
          "fp_l25_goat_shed"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S59_Shot6",
          "S59_Shot12",
          "S59_Shot16"
        ],
        "sub_location_label": "축사 내부 포대 창고와 문턱",
        "state_label_raw": "daylit storage area with blood-soaked sacks, severed remains, and occupants hiding behind a closed door"
      },
      "L25B02": {
        "bg_id": "L25B02",
        "loc_id": "L25",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "clean_after",
        "surface_role": "exterior_plate",
        "semantic_key": "L25|main|day|clean_after",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S112_Shot6",
          "S112_Shot8",
          "S112_Shot16"
        ],
        "sub_location_label": "선착장과 낚시 어선 승선 지점",
        "state_label_raw": "bright peaceful departure setting after the violence, with boat boarding and a restrained farewell"
      },
      "L25B03": {
        "bg_id": "L25B03",
        "loc_id": "L25",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "intrusion",
        "surface_role": "transition_zone",
        "semantic_key": "L25|main|night|intrusion",
        "depends_on_fp": [
          "fp_l25_goat_shed"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S32_Shot1",
          "S32_Shot10",
          "S32_Shot13"
        ],
        "sub_location_label": "염소 축사 외벽과 깨진 창 너머 도축 공간",
        "state_label_raw": "nighttime covert observation through a broken window, interrupted by a bloody slaughter and discovery"
      },
      "L26B01": {
        "bg_id": "L26B01",
        "loc_id": "L26",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "blood_scene",
        "surface_role": "interior_room",
        "semantic_key": "L26|main|night|blood_scene",
        "depends_on_fp": [
          "fp_l26_approach"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S77_Shot1",
          "S77_Shot8",
          "S77_Shot10"
        ],
        "sub_location_label": "진입부에 연결된 어두운 도축 작업 공간",
        "state_label_raw": "dark slaughter staging bay with buckets of goat blood used to drench and disguise the fugitives"
      },
      "L26B02": {
        "bg_id": "L26B02",
        "loc_id": "L26",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "intrusion",
        "surface_role": "site_surface",
        "semantic_key": "L26|main|night|intrusion",
        "depends_on_fp": [
          "fp_l26_approach"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S33_Shot6",
          "S33_Shot12",
          "S33_Shot13"
        ],
        "sub_location_label": "도축장 진입 오솔길과 숲 경계",
        "state_label_raw": "night forest approach where an apparent rescuer blocks the path and reveals a predatory transformation"
      },
      "L27B01": {
        "bg_id": "L27B01",
        "loc_id": "L27",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "evidence_display",
        "surface_role": "site_surface",
        "semantic_key": "L27|main|day|evidence_display",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S60_Shot6",
          "S60_Shot9"
        ],
        "sub_location_label": "도축장 권역 해안 바위길과 시체 발견 지점",
        "state_label_raw": "daytime coastal rocks displaying a wave-tossed human corpse while photographic evidence is recorded"
      },
      "L27B02": {
        "bg_id": "L27B02",
        "loc_id": "L27",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "quiet",
        "surface_role": "site_surface",
        "semantic_key": "L27|main|day|quiet",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S45_Shot3",
          "S45_Shot8",
          "S45_Shot10"
        ],
        "sub_location_label": "도축장 주변 숲길의 한적한 대화 지점",
        "state_label_raw": "secluded daytime forest path during a tense private confession, submission, and embrace"
      },
      "L27B03": {
        "bg_id": "L27B03",
        "loc_id": "L27",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "blood_scene",
        "surface_role": "site_surface",
        "semantic_key": "L27|main|night|blood_scene",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S111_Shot11",
          "S111_Shot14",
          "S111_Shot19"
        ],
        "sub_location_label": "만월제 도당의 대량 살육 현장",
        "state_label_raw": "moonlit ritual-ground aftermath filled with corpses, blood pools, demonic smoke, and the final exorcism"
      },
      "L27B04": {
        "bg_id": "L27B04",
        "loc_id": "L27",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "busy",
        "surface_role": "site_surface",
        "semantic_key": "L27|main|night|busy",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S78_Shot1",
          "S78_Shot4",
          "S78_Shot9"
        ],
        "sub_location_label": "숲속 만월제 도당과 핏빛 바위",
        "state_label_raw": "night ritual ground active with urgent search orders, firelight, and a blood-colored standing rock"
      },
      "L30B01": {
        "bg_id": "L30B01",
        "loc_id": "L30",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "clean_after",
        "surface_role": "interior_room",
        "semantic_key": "L30|main|day|clean_after",
        "depends_on_fp": [
          "fp_l30_back_room"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S37_Shot4",
          "S37_Shot5",
          "S37_Shot10"
        ],
        "sub_location_label": "제단 흔적이 사라진 식당 뒷방",
        "state_label_raw": "daylit storage and back-room area restored to ordinary use with every altar trace removed"
      },
      "L30B02": {
        "bg_id": "L30B02",
        "loc_id": "L30",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "quiet",
        "surface_role": "interior_room",
        "semantic_key": "L30|main|night|quiet",
        "depends_on_fp": [
          "fp_l30_back_room"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S51_Shot2",
          "S51_Shot7"
        ],
        "sub_location_label": "어두운 감금 공간",
        "state_label_raw": "dim enclosed holding chamber with rough walls, low bulb and a chained captive"
      },
      "L35B01": {
        "bg_id": "L35B01",
        "loc_id": "L35",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "arrival",
        "surface_role": "site_surface",
        "semantic_key": "L35|main|day|arrival",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S100_Shot3",
          "S100_Shot5"
        ],
        "sub_location_label": "해안마을 선착장",
        "state_label_raw": "daytime island dock arrival with a black van, gathered women, fishing boat, and harbor edge"
      },
      "L35B02": {
        "bg_id": "L35B02",
        "loc_id": "L35",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "blood_scene",
        "surface_role": "interior_room",
        "semantic_key": "L35|main|day|blood_scene",
        "depends_on_fp": [
          "fp_l35_cave_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S96_Shot1",
          "S96_Shot4",
          "S98_Shot2",
          "S98_Shot5",
          "S98_Shot6"
        ],
        "sub_location_label": "쇠사슬 감금 동굴 방",
        "state_label_raw": "daytime cave captivity chamber with chained prisoners, dark stone floor, and lantern illumination"
      },
      "L35B03": {
        "bg_id": "L35B03",
        "loc_id": "L35",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "arrival",
        "surface_role": "transition_zone",
        "semantic_key": "L35|main|night|arrival",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S76_Shot1",
          "S76_Shot5"
        ],
        "sub_location_label": "숲길과 염소 도축장 입구",
        "state_label_raw": "moonlit forest approach leading from the dark road across the open slaughterhouse threshold"
      },
      "L35B04": {
        "bg_id": "L35B04",
        "loc_id": "L35",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "blood_scene",
        "surface_role": "site_surface",
        "semantic_key": "L35|main|night|blood_scene",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S52_Shot2",
          "S52_Shot4"
        ],
        "sub_location_label": "피 묻은 거대 바위 제단 공터",
        "state_label_raw": "moonlit forest ritual clearing dominated by a giant rock smeared with dark animal blood"
      },
      "L35B05": {
        "bg_id": "L35B05",
        "loc_id": "L35",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "busy_exit",
        "surface_role": "site_surface",
        "semantic_key": "L35|main|night|busy_exit",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S104_Shot1",
          "S104_Shot3",
          "S104_Shot7"
        ],
        "sub_location_label": "식당 문턱과 마을 진입로",
        "state_label_raw": "night restaurant-front approach during a panicked retreat and predatory attack from the village road"
      },
      "L35B06": {
        "bg_id": "L35B06",
        "loc_id": "L35",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "ransacked",
        "surface_role": "exterior_plate",
        "semantic_key": "L35|main|night|ransacked",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S72_Shot2",
          "S72_Shot4"
        ],
        "sub_location_label": "전소된 창고 앞",
        "state_label_raw": "night exterior with a completely burned shed still releasing dark smoke"
      },
      "L38B01": {
        "bg_id": "L38B01",
        "loc_id": "L38",
        "space_key": "main",
        "time_phase": "dusk",
        "state_class": "arrival",
        "surface_role": "exterior_plate",
        "semantic_key": "L38|main|dusk|arrival",
        "depends_on_fp": [
          "fp_patrol_boat_deck"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S89_Shot1"
        ],
        "sub_location_label": "다가오는 경찰 순찰정 외부",
        "state_label_raw": "patrol boat approaching through the water at dusk"
      },
      "L38B02": {
        "bg_id": "L38B02",
        "loc_id": "L38",
        "space_key": "main",
        "time_phase": "dusk",
        "state_class": "quiet",
        "surface_role": "exterior_plate",
        "semantic_key": "L38|main|dusk|quiet",
        "depends_on_fp": [
          "fp_patrol_boat_deck"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S90_Shot1",
          "S90_Shot4"
        ],
        "sub_location_label": "경찰 순찰정 외부 및 갑판",
        "state_label_raw": "deserted setting in muted reddish sunset light"
      },
      "L38B03": {
        "bg_id": "L38B03",
        "loc_id": "L38",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "blood_scene",
        "surface_role": "exterior_plate",
        "semantic_key": "L38|main|night|blood_scene",
        "depends_on_fp": [
          "fp_patrol_boat_deck"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S63_Shot8",
          "S63_Shot14"
        ],
        "sub_location_label": "경찰 순찰정 외부 및 갑판",
        "state_label_raw": "night scene dominated by dripping blood, bloodied hands, and panic"
      },
      "L38B04": {
        "bg_id": "L38B04",
        "loc_id": "L38",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "intrusion",
        "surface_role": "exterior_plate",
        "semantic_key": "L38|main|night|intrusion",
        "depends_on_fp": [
          "fp_patrol_boat_deck"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S63_Shot2"
        ],
        "sub_location_label": "경찰 순찰정 외부 및 갑판",
        "state_label_raw": "night exterior under ominous hostile surveillance"
      },
      "L41B01": {
        "bg_id": "L41B01",
        "loc_id": "L41",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "busy_exit",
        "surface_role": "site_surface",
        "semantic_key": "L41|main|day|busy_exit",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S86_Shot7",
          "S86_Shot12"
        ],
        "sub_location_label": "창고 앞 선착장과 순찰정 접안 구역",
        "state_label_raw": "daytime dock escape with fugitives boarding a patrol boat and villagers charging after them"
      },
      "L41B02": {
        "bg_id": "L41B02",
        "loc_id": "L41",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "quiet",
        "surface_role": "interior_room",
        "semantic_key": "L41|main|day|quiet",
        "depends_on_fp": [
          "fp_l41_main"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S83_Shot4",
          "S83_Shot5"
        ],
        "sub_location_label": "L41 메인 실내",
        "state_label_raw": "daytime enclosed interior with cold, watchful tension as the search continues outside"
      },
      "L41B03": {
        "bg_id": "L41B03",
        "loc_id": "L41",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "quiet",
        "surface_role": "interior_room",
        "semantic_key": "L41|main|night|quiet",
        "depends_on_fp": [
          "fp_l41_main"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S81_Shot1",
          "S81_Shot10",
          "S81_Shot12"
        ],
        "sub_location_label": "선착장 어구 창고 내부",
        "state_label_raw": "nighttime warehouse interior during a tense, tearful family revelation"
      },
      "L53B01": {
        "bg_id": "L53B01",
        "loc_id": "L53",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "intrusion",
        "surface_role": "interior_room",
        "semantic_key": "L53|main|day|intrusion",
        "depends_on_fp": [
          "fp_l53_restaurant_front"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S94_Shot2",
          "S94_Shot7"
        ],
        "sub_location_label": "쇠사슬 감금 구역",
        "state_label_raw": "daylit rough-walled confinement space where injured captives are chained apart"
      },
      "L53B02": {
        "bg_id": "L53B02",
        "loc_id": "L53",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "busy",
        "surface_role": "exterior_plate",
        "semantic_key": "L53|main|night|busy",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S66_Shot1",
          "S109_Shot2"
        ],
        "sub_location_label": "불타는 부지와 인접 염소 축사",
        "state_label_raw": "chaotic night exterior dominated by fire, smoke, frantic activity and agitated black goats"
      },
      "L53B03": {
        "bg_id": "L53B03",
        "loc_id": "L53",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "busy_exit",
        "surface_role": "site_surface",
        "semantic_key": "L53|main|night|busy_exit",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S107_Shot3"
        ],
        "sub_location_label": "깜깜한 숲속 도주로",
        "state_label_raw": "lightless forest escape route crowded by whipping branches and dense undergrowth"
      },
      "L55B01": {
        "bg_id": "L55B01",
        "loc_id": "L55",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "busy",
        "surface_role": "exterior_plate",
        "semantic_key": "L55|main|day|busy",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S101_Shot1"
        ],
        "sub_location_label": "만원인 낚시 어선 갑판",
        "state_label_raw": "bright daytime fishing-boat deck packed with bar women and anglers"
      },
      "L55B02": {
        "bg_id": "L55B02",
        "loc_id": "L55",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "normal",
        "surface_role": "exterior_plate",
        "semantic_key": "L55|main|day|normal",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S101_Shot6",
          "S101_Shot9"
        ],
        "sub_location_label": "어선 옆 선착장",
        "state_label_raw": "bright daytime dockside conversation with fishing boat nearby"
      }
    },
    "shot_background_map": {
      "S1_Shot7": "L01B01",
      "S1_Shot3": "L01B02",
      "S1_Shot5": "L01B02",
      "S2_Shot3": "L02B01",
      "S2_Shot5": "L02B01",
      "S2_Shot6": "L02B02",
      "S3_Shot6": "L03B01",
      "S3_Shot12": "L03B01",
      "S3_Shot15": "L03B01",
      "S99_Shot1": "L03B02",
      "S99_Shot4": "L03B02",
      "S6_Shot3": "L06B01",
      "S6_Shot4": "L06B01",
      "S6_Shot7": "L06B01",
      "S11_Shot2": "L07B01",
      "S11_Shot3": "L07B01",
      "S7_Shot1": "L08B01",
      "S7_Shot6": "L08B01",
      "S7_Shot8": "L08B01",
      "S9_Shot3": "L08B02",
      "S9_Shot6": "L08B02",
      "S8_Shot1": "L09B01",
      "S8_Shot5": "L09B02",
      "S13_Shot3": "L10B01",
      "S13_Shot4": "L10B01",
      "S10_Shot3": "L10B02",
      "S10_Shot5": "L10B02",
      "S15_Shot3": "L11B01",
      "S15_Shot5": "L11B01",
      "S12_Shot2": "L11B02",
      "S12_Shot10": "L11B02",
      "S4_Shot8": "L11B03",
      "S4_Shot1": "L11B04",
      "S4_Shot4": "L11B04",
      "S19_Shot2": "L13B01",
      "S19_Shot7": "L13B01",
      "S19_Shot12": "L13B02",
      "S14_Shot2": "L13B03",
      "S14_Shot3": "L13B03",
      "S16_Shot2": "L13B04",
      "S16_Shot4": "L13B04",
      "S17_Shot1": "L14B01",
      "S17_Shot6": "L14B02",
      "S18_Shot1": "L15B01",
      "S18_Shot5": "L15B01",
      "S20_Shot5": "L15B02",
      "S20_Shot8": "L15B02",
      "S20_Shot11": "L15B02",
      "S55_Shot3": "L15B02",
      "S55_Shot5": "L15B02",
      "S55_Shot7": "L15B02",
      "S103_Shot2": "L15B03",
      "S103_Shot3": "L15B03",
      "S85_Shot4": "L18B01",
      "S85_Shot6": "L18B01",
      "S92_Shot3": "L18B02",
      "S64_Shot2": "L18B03",
      "S22_Shot2": "L18B04",
      "S49_Shot6": "L18B05",
      "S49_Shot8": "L18B05",
      "S25_Shot1": "L18B06",
      "S71_Shot2": "L22B01",
      "S71_Shot14": "L22B01",
      "S71_Shot18": "L22B01",
      "S26_Shot3": "L22B02",
      "S26_Shot4": "L22B02",
      "S38_Shot1": "L23B01",
      "S38_Shot7": "L23B01",
      "S93_Shot5": "L23B02",
      "S93_Shot8": "L23B02",
      "S93_Shot10": "L23B02",
      "S27_Shot2": "L23B03",
      "S27_Shot5": "L23B03",
      "S73_Shot4": "L23B04",
      "S73_Shot5": "L23B04",
      "S29_Shot3": "L23B05",
      "S29_Shot5": "L23B05",
      "S29_Shot1": "L23B06",
      "S67_Shot3": "L23B06",
      "S67_Shot8": "L23B06",
      "S67_Shot9": "L23B06",
      "S28_Shot2": "L24B01",
      "S59_Shot6": "L25B01",
      "S59_Shot12": "L25B01",
      "S59_Shot16": "L25B01",
      "S112_Shot6": "L25B02",
      "S112_Shot8": "L25B02",
      "S112_Shot16": "L25B02",
      "S32_Shot1": "L25B03",
      "S32_Shot10": "L25B03",
      "S32_Shot13": "L25B03",
      "S77_Shot1": "L26B01",
      "S77_Shot8": "L26B01",
      "S77_Shot10": "L26B01",
      "S33_Shot6": "L26B02",
      "S33_Shot12": "L26B02",
      "S33_Shot13": "L26B02",
      "S60_Shot6": "L27B01",
      "S60_Shot9": "L27B01",
      "S45_Shot3": "L27B02",
      "S45_Shot8": "L27B02",
      "S45_Shot10": "L27B02",
      "S111_Shot11": "L27B03",
      "S111_Shot14": "L27B03",
      "S111_Shot19": "L27B03",
      "S78_Shot1": "L27B04",
      "S78_Shot4": "L27B04",
      "S78_Shot9": "L27B04",
      "S37_Shot4": "L30B01",
      "S37_Shot5": "L30B01",
      "S37_Shot10": "L30B01",
      "S51_Shot2": "L30B02",
      "S51_Shot7": "L30B02",
      "S100_Shot3": "L35B01",
      "S100_Shot5": "L35B01",
      "S96_Shot1": "L35B02",
      "S96_Shot4": "L35B02",
      "S98_Shot2": "L35B02",
      "S98_Shot5": "L35B02",
      "S98_Shot6": "L35B02",
      "S76_Shot1": "L35B03",
      "S76_Shot5": "L35B03",
      "S52_Shot2": "L35B04",
      "S52_Shot4": "L35B04",
      "S104_Shot1": "L35B05",
      "S104_Shot3": "L35B05",
      "S104_Shot7": "L35B05",
      "S72_Shot2": "L35B06",
      "S72_Shot4": "L35B06",
      "S89_Shot1": "L38B01",
      "S90_Shot1": "L38B02",
      "S90_Shot4": "L38B02",
      "S63_Shot8": "L38B03",
      "S63_Shot14": "L38B03",
      "S63_Shot2": "L38B04",
      "S86_Shot7": "L41B01",
      "S86_Shot12": "L41B01",
      "S83_Shot4": "L41B02",
      "S83_Shot5": "L41B02",
      "S81_Shot1": "L41B03",
      "S81_Shot10": "L41B03",
      "S81_Shot12": "L41B03",
      "S94_Shot2": "L53B01",
      "S94_Shot7": "L53B01",
      "S66_Shot1": "L53B02",
      "S109_Shot2": "L53B02",
      "S107_Shot3": "L53B03",
      "S101_Shot1": "L55B01",
      "S101_Shot6": "L55B02",
      "S101_Shot9": "L55B02"
    },
    "bg_catalog_hash": "dd66d818efd3bd53",
    "shot_binding_hash": "6052358450b52e88",
    "diagnostics": {
      "w21b_surface_role_scope_filter": {
        "policy": "surface_role-aware background-first filter; interior_room remains floor-plan-bound; exterior/transition/site may be fp-less; transitive cascade depends_on_bg exact raw key.",
        "kept_floor_plans_count": 17,
        "kept_backgrounds_count": 71,
        "dropped_floor_plans_count": 10,
        "dropped_backgrounds_count": 0,
        "dropped_groups_count": 0,
        "dropped_floor_plans": [
          {
            "group_id": "bg_convenience_store",
            "fp_id": "fp_l06_storage",
            "loc_id": "L06",
            "is_indoor": true,
            "shot_count": 3,
            "referenced_by_kept_background": false,
            "reasons": [
              "no_kept_background_ref"
            ]
          },
          {
            "group_id": "bg_convenience_store",
            "fp_id": "fp_l07_store_interior",
            "loc_id": "L07",
            "is_indoor": true,
            "shot_count": 2,
            "referenced_by_kept_background": false,
            "reasons": [
              "no_kept_background_ref"
            ]
          },
          {
            "group_id": "bg_convenience_store",
            "fp_id": "fp_l08_store_front",
            "loc_id": "L08",
            "is_indoor": false,
            "shot_count": 5,
            "referenced_by_kept_background": false,
            "reasons": [
              "no_kept_background_ref"
            ]
          },
          {
            "group_id": "bg_police_station",
            "fp_id": "fp_l09_parking",
            "loc_id": "L09",
            "is_indoor": false,
            "shot_count": 2,
            "referenced_by_kept_background": false,
            "reasons": [
              "no_kept_background_ref"
            ]
          },
          {
            "group_id": "bg_police_station",
            "fp_id": "fp_l14_detective_office",
            "loc_id": "L14",
            "is_indoor": true,
            "shot_count": 2,
            "referenced_by_kept_background": false,
            "reasons": [
              "no_kept_background_ref"
            ]
          },
          {
            "group_id": "bg_fishing_boat",
            "fp_id": "fp_l16_main",
            "loc_id": "L16",
            "is_indoor": true,
            "shot_count": 0,
            "referenced_by_kept_background": false,
            "reasons": [
              "no_kept_background_ref"
            ]
          },
          {
            "group_id": "bg_restaurant_property",
            "fp_id": "fp_l24_storage_interior",
            "loc_id": "L24",
            "is_indoor": true,
            "shot_count": 1,
            "referenced_by_kept_background": false,
            "reasons": [
              "no_kept_background_ref"
            ]
          },
          {
            "group_id": "bg_forest_slaughter_complex",
            "fp_id": "fp_l27_slaughterhouse",
            "loc_id": "L27",
            "is_indoor": true,
            "shot_count": 11,
            "referenced_by_kept_background": false,
            "reasons": [
              "no_kept_background_ref"
            ]
          },
          {
            "group_id": "bg_police_patrol_boat",
            "fp_id": "fp_patrol_boat_wheelhouse",
            "loc_id": "L39",
            "is_indoor": true,
            "shot_count": 0,
            "referenced_by_kept_background": false,
            "reasons": [
              "no_kept_background_ref"
            ]
          },
          {
            "group_id": "bg_rural_police_outpost",
            "fp_id": "fp_rural_police_outpost_main",
            "loc_id": "L55",
            "is_indoor": true,
            "shot_count": 3,
            "referenced_by_kept_background": false,
            "reasons": [
              "no_kept_background_ref"
            ]
          }
        ],
        "dropped_backgrounds": [],
        "dropped_groups": []
      },
      "location_profile_pre_filter": {
        "bg_fishing_boat": {
          "raw_member_count": 3,
          "kept_member_count": 2,
          "filtered_members": [
            {
              "loc_id": "L56",
              "label": "낚시 어선 어창 내부",
              "shot_count": 0,
              "reason": "no_location_profile"
            }
          ]
        }
      }
    }
  },
  "step_id": "background_master_plan",
  "run_id": "0225ce81-fa43-47ae-a2e8-1b857fb0affc",
  "resolved_model": "gpt",
  "updated_at": "2026-08-04T05:40:26.776950+00:00",
  "project_config_snapshot": {}
}