{
  "status": "completed",
  "applicable_count": 10,
  "completed_count": 10,
  "failed_count": 0,
  "schema_version": 5,
  "config_hash": "40fe7dfee524cec3",
  "data": {
    "plans": {
      "bg_reed_field_wooden_shed": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S1_Shot3",
                "S1_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l01_reed_field_shed_front"
              ],
              "loc_id": "L01",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "daytime winter reed field under active pursuit and Japanese rifle fire",
              "sub_location_label": "겨울 갈대숲과 소금창고 전면",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L01B02"
            },
            {
              "applies_to_shots": [
                "S1_Shot7"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l01_reed_field_shed_front"
              ],
              "loc_id": "L01",
              "space_key_hint": "main",
              "state_class": "arrival",
              "state_label_raw": "fleeing survivors arriving at and rushing through the old salt-shed doorway",
              "sub_location_label": "낡은 소금창고 입구 앞",
              "surface_role": "transition_zone",
              "time_phase": "day",
              "bg_id": "L01B01"
            },
            {
              "applies_to_shots": [
                "S3_Shot6",
                "S3_Shot11",
                "S3_Shot15",
                "S97_Shot1",
                "S97_Shot5",
                "S97_Shot6"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l01_reed_field_shed_front"
              ],
              "loc_id": "L01",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "shed-front killing ground covered with bloodied Japanese bodies, wounded smoke entity, and feeding survivors",
              "sub_location_label": "피로 물든 창고 앞 흙바닥",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L01B03"
            },
            {
              "applies_to_shots": [
                "S2_Shot1"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l02_salt_shed_interior"
              ],
              "loc_id": "L02",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "dim makeshift wooden shed interior with survivors huddled together in fearful silence",
              "sub_location_label": "소금창고 내부 은신 공간",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L02B02"
            },
            {
              "applies_to_shots": [
                "S2_Shot3",
                "S2_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l02_salt_shed_interior"
              ],
              "loc_id": "L02",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "shed interior breached through the open door by Japanese soldiers before an officer is dragged outside",
              "sub_location_label": "침입당한 창고 내부와 문턱",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L02B01"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_l01_reed_field_shed_front",
              "loc_id": "L01",
              "scope": "Reed-field paths, shed frontage, doorway approach, and adjacent dirt killing ground",
              "space_key_hint": "main",
              "sub_location": "reed_field_shed_front"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l02_salt_shed_interior",
              "loc_id": "L02",
              "scope": "Single makeshift shed interior, survivor area, walls, and doorway threshold",
              "space_key_hint": "main",
              "sub_location": "salt_shed_interior"
            }
          ],
          "group_id": "bg_reed_field_wooden_shed",
          "rationale_summary": "L01은 추격·도착·피의 참상으로, L02는 은신과 침입으로 구분한다. 단일 공간 규칙에 따라 위치별 평면도는 하나씩만 둔다.",
          "gen_order": [
            "fp_l01_reed_field_shed_front",
            "fp_l02_salt_shed_interior",
            "L01B02",
            "L01B01",
            "L01B03",
            "L02B02",
            "L02B01"
          ]
        }
      },
      "bg_commuter_bus_cabin": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_metropolitan_night_street": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_convenience_store": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S5_Shot1"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l05_refrigerator_work_area"
              ],
              "loc_id": "L05",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "night shift quiet behind stocked beverage refrigerators with discarded food basket",
              "sub_location_label": "편의점 냉장고 뒤편 작업 공간",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L05B03"
            },
            {
              "applies_to_shots": [
                "S5_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l05_refrigerator_work_area"
              ],
              "loc_id": "L05",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "single dark-red blood drop visible on the white tile floor behind the refrigerators",
              "sub_location_label": "냉장고 뒤편 흰색 타일 바닥",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L05B02"
            },
            {
              "applies_to_shots": [
                "S5_Shot6"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l05_refrigerator_work_area"
              ],
              "loc_id": "L05",
              "space_key_hint": "main",
              "state_class": "arrival",
              "state_label_raw": "boyfriend newly visible through the stocked refrigerator glass door from the sales floor",
              "sub_location_label": "냉장고 유리문과 뒤편 작업 공간",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L05B01"
            },
            {
              "applies_to_shots": [
                "S6_Shot3",
                "S6_Shot7",
                "S8_Shot1",
                "S8_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L06",
              "space_key_hint": "main",
              "state_class": "normal",
              "state_label_raw": "nighttime convenience-store frontage with bench, two people talking, canned coffee and money envelope",
              "sub_location_label": "편의점 앞 야외 벤치",
              "surface_role": "exterior_plate",
              "time_phase": "night",
              "bg_id": "L06B02"
            },
            {
              "applies_to_shots": [
                "S10_Shot1"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l09_store_interior"
              ],
              "loc_id": "L09",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "quiet late-night store interior with Jihu alone at the counter holding a money envelope",
              "sub_location_label": "편의점 카운터와 매장 내부",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L09B02"
            },
            {
              "applies_to_shots": [
                "S10_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l09_store_interior"
              ],
              "loc_id": "L09",
              "space_key_hint": "main",
              "state_class": "arrival",
              "state_label_raw": "late-night counter view toward the dark entrance as a customer enters and the door bell rings",
              "sub_location_label": "카운터에서 바라본 편의점 입구",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L09B03"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_l05_refrigerator_work_area",
              "loc_id": "L05",
              "scope": "Refrigerator-back work zone, glass cooler line, waste basket, and tiled service floor",
              "space_key_hint": "main",
              "sub_location": "refrigerator_work_area"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l09_store_interior",
              "loc_id": "L09",
              "scope": "Sales floor, counter, aisles, and sightline to the customer entrance",
              "space_key_hint": "main",
              "sub_location": "store_interior"
            }
          ],
          "group_id": "bg_convenience_store",
          "rationale_summary": "각 single-space 장소에 계획 1개씩 배정. 냉장고 뒤편은 정적·혈흔·도착, 매장은 정적·손님 도착으로 구분하고 벤치 장면은 동일한 야간 외부 상태로 통합.",
          "gen_order": [
            "fp_l05_refrigerator_work_area",
            "fp_l09_store_interior",
            "L05B03",
            "L05B02",
            "L05B01",
            "L06B02",
            "L09B02",
            "L09B03"
          ]
        }
      },
      "bg_police_station": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S7_Shot5",
                "S7_Shot6",
                "S7_Shot8"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_police_station_parking"
              ],
              "loc_id": "L07",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "daytime police station parking lot during Inwoo's recollection, with an emotionally tense private exchange",
              "sub_location_label": "경찰서 주차장",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L07B02"
            },
            {
              "applies_to_shots": [
                "S16_Shot1",
                "S16_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_detective_office"
              ],
              "loc_id": "L14",
              "space_key_hint": "main",
              "state_class": "evidence_display",
              "state_label_raw": "detective office during CCTV review and phone-message examination, monitor area visually emphasized",
              "sub_location_label": "경찰서 형사과 사무실",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L14B03"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_police_station_parking",
              "loc_id": "L07",
              "scope": "Police station parking layout and standing area used for the recalled conversation",
              "space_key_hint": "main",
              "sub_location": "police_station_parking"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_detective_office",
              "loc_id": "L14",
              "scope": "Detective office workspace with desks, monitor station, and circulation paths",
              "space_key_hint": "main",
              "sub_location": "detective_office"
            }
          ],
          "group_id": "bg_police_station",
          "rationale_summary": "Single-space plans preserve each location. The parking is a daytime recollection; the office is an interior evidence-review state centered on CCTV and phone information.",
          "gen_order": [
            "fp_police_station_parking",
            "fp_detective_office",
            "L07B02",
            "L14B03"
          ]
        }
      },
      "bg_multifamily_residence": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S9_Shot2",
                "S9_Shot6"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l08_home_interior"
              ],
              "loc_id": "L08",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "night interior under threatening intrusion, with an unknown woman on the sofa and a large man blocking the entrance",
              "sub_location_label": "민숙 집 거실과 현관",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L08B02"
            },
            {
              "applies_to_shots": [
                "S12_Shot2",
                "S12_Shot6",
                "S12_Shot11"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l08_home_interior"
              ],
              "loc_id": "L08",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "night interior violently ransacked, with smashed furniture, broken fixtures, scattered debris, and vivid bloodstains",
              "sub_location_label": "핏자국과 파손 흔적이 남은 민숙 집 거실",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L08B03"
            },
            {
              "applies_to_shots": [
                "S11_Shot2"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L10",
              "space_key_hint": "main",
              "state_class": "arrival",
              "state_label_raw": "dark residential alley as a police car brakes to a stop with its red beacon flashing",
              "sub_location_label": "다세대주택 앞 골목길",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L10B04"
            },
            {
              "applies_to_shots": [
                "S11_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l10_alley_and_stairs"
              ],
              "loc_id": "L10",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "dark, worn exterior stairs during an urgent ascent toward the residence",
              "sub_location_label": "낡은 다세대주택 외부 계단",
              "surface_role": "transition_zone",
              "time_phase": "night",
              "bg_id": "L10B05"
            },
            {
              "applies_to_shots": [
                "S14_Shot2",
                "S14_Shot3"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L10",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "dusk emergency scene with flashing police lights, an ambulance, officers, and gathered neighbors",
              "sub_location_label": "앰뷸런스와 경찰이 모인 다세대주택 골목",
              "surface_role": "site_surface",
              "time_phase": "dusk",
              "bg_id": "L10B03"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_l08_home_interior",
              "loc_id": "L08",
              "scope": "Compact two-room home interior including living area and entrance threshold",
              "space_key_hint": "main",
              "sub_location": "home_interior"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l10_alley_and_stairs",
              "loc_id": "L10",
              "scope": "Residential alley frontage and connected worn exterior stair route",
              "space_key_hint": "main",
              "sub_location": "alley_and_exterior_stairs"
            }
          ],
          "group_id": "bg_multifamily_residence",
          "rationale_summary": "Single-space profiles require one plan per location. L08 separates intrusion from the later bloody wreckage; L10 distinguishes car arrival, stair ascent, and dusk emergency activity.",
          "gen_order": [
            "fp_l08_home_interior",
            "fp_l10_alley_and_stairs",
            "L08B02",
            "L08B03",
            "L10B04",
            "L10B05",
            "L10B03"
          ]
        }
      },
      "bg_rural_highway": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_older_suv_cabin": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S13_Shot3",
                "S13_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_suv_cabin"
              ],
              "loc_id": "L12",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "night driving with a bound captive lying across the rear seat",
              "sub_location_label": "구형 SUV 운전석 및 뒷좌석",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L12B03"
            },
            {
              "applies_to_shots": [
                "S15_Shot3",
                "S15_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_suv_cabin"
              ],
              "loc_id": "L12",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "dawn cabin with a frightened bound captive awake in the rear seat",
              "sub_location_label": "구형 SUV 운전석, 룸미러 및 뒷좌석",
              "surface_role": "interior_room",
              "time_phase": "dawn",
              "bg_id": "L12B02"
            },
            {
              "applies_to_shots": [
                "S18_Shot1",
                "S18_Shot3"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_suv_cabin"
              ],
              "loc_id": "L12",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "dawn flashback with the freed captive seated in front holding a graduation photo",
              "sub_location_label": "구형 SUV 조수석 및 운전석",
              "surface_role": "interior_room",
              "time_phase": "dawn",
              "bg_id": "L12B01"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_suv_cabin",
              "loc_id": "L12",
              "scope": "Full old SUV cabin, including driver, front passenger, and rear seating zones",
              "space_key_hint": "main",
              "sub_location": "suv_cabin"
            }
          ],
          "group_id": "bg_older_suv_cabin",
          "rationale_summary": "단일 차량 실내 평면을 공유하고, 밤의 결박 상태와 새벽의 결박 상태, 지후 회상 속 조수석 상태를 시간·서사별 배경으로 분리했다.",
          "gen_order": [
            "fp_suv_cabin",
            "L12B03",
            "L12B02",
            "L12B01"
          ]
        }
      },
      "bg_compact_car_cabin": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_fishing_boat": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S17_Shot1",
                "S17_Shot6",
                "S19_Shot2",
                "S19_Shot7"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l15_boat_deck_exterior"
              ],
              "loc_id": "L15",
              "space_key_hint": "main",
              "state_class": "normal",
              "state_label_raw": "clear daytime voyage with active wake, open deck passage, bow and stern seating areas",
              "sub_location_label": "낚시 어선 갑판과 주행 외부",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L15B06"
            },
            {
              "applies_to_shots": [
                "S19_Shot12"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L15",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "sunlit blue sea with all neighboring islands gone and an impossibly beautiful Geumwoldo alone",
              "sub_location_label": "배에서 바라본 금월도 해상 전경",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L15B05"
            },
            {
              "applies_to_shots": [
                "S101_Shot1",
                "S101_Shot7",
                "S101_Shot9"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l15_boat_deck_exterior"
              ],
              "loc_id": "L15",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "bright crowded festival-day deck and boarding edge packed with anglers and bar women",
              "sub_location_label": "만원 상태의 갑판과 선착장 접안부",
              "surface_role": "transition_zone",
              "time_phase": "day",
              "bg_id": "L15B04"
            },
            {
              "applies_to_shots": [
                "S113_Shot2",
                "S113_Shot3"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L15",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "quiet emotional departure across the boat deck, open water, and receding Geumwoldo dock",
              "sub_location_label": "금월도를 떠나는 배와 선착장 사이",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L15B07"
            },
            {
              "applies_to_shots": [
                "S54_Shot3"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l16_wheelhouse"
              ],
              "loc_id": "L16",
              "space_key_hint": "main",
              "state_class": "normal",
              "state_label_raw": "daytime wheelhouse under dense sea fog with helm, windows, and hostile transit atmosphere",
              "sub_location_label": "안개 낀 조타실 내부",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L16B01"
            },
            {
              "applies_to_shots": [
                "S54_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L16",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "dark ominous Geumwoldo emerging silently through dense daytime fog",
              "sub_location_label": "조타실 시야 너머 안개 속 금월도",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L16B02"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_l15_boat_deck_exterior",
              "loc_id": "L15",
              "scope": "Entire fishing-boat deck, bow, stern, side passage, cabin shell, and boarding edge",
              "space_key_hint": "main",
              "sub_location": "boat_deck_and_exterior"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l16_wheelhouse",
              "loc_id": "L16",
              "scope": "Enclosed wheelhouse with helm, controls, windows, door, and sightlines toward the bow",
              "space_key_hint": "main",
              "sub_location": "wheelhouse"
            }
          ],
          "group_id": "bg_fishing_boat",
          "rationale_summary": "L15와 L16은 single_space로 각각 단일 도면을 둔다. 낮 장면은 평상 운항, 축제 혼잡, 이별의 정적, 이상화·안개 섬 전경으로 구분한다.",
          "gen_order": [
            "fp_l15_boat_deck_exterior",
            "fp_l16_wheelhouse",
            "L15B06",
            "L15B05",
            "L15B04",
            "L15B07",
            "L16B01",
            "L16B02"
          ]
        }
      },
      "bg_open_island_sea": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_island_dock_and_gear_storehouse": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S20_Shot8",
                "S20_Shot11",
                "S20_Shot13",
                "S55_Shot3",
                "S55_Shot5",
                "S55_Shot7"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_island_dock"
              ],
              "loc_id": "L19",
              "space_key_hint": "main",
              "state_class": "arrival",
              "state_label_raw": "daytime dock arrivals, contrasting an exuberant welcome with a cold hostile reception",
              "sub_location_label": "금월도 선착장 도착 구역",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L19B01"
            },
            {
              "applies_to_shots": [
                "S38_Shot1",
                "S38_Shot7"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_island_dock"
              ],
              "loc_id": "L19",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "daytime working dock with a moored fishing boat being decorated with rope and paper figures",
              "sub_location_label": "정박 어선 앞 선착장",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L19B02"
            },
            {
              "applies_to_shots": [
                "S61_Shot1",
                "S61_Shot12",
                "S61_Shot16"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_island_dock"
              ],
              "loc_id": "L19",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "dusk dock crowded around a waterlogged claw-marked corpse on a broad plastic sheet",
              "sub_location_label": "선착장 시신 수습 구역",
              "surface_role": "exterior_plate",
              "time_phase": "dusk",
              "bg_id": "L19B05"
            },
            {
              "applies_to_shots": [
                "S79_Shot1",
                "S79_Shot3"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_island_dock"
              ],
              "loc_id": "L19",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "brightly lit night dock and rocky shoreline crowded by villagers conducting a flashlight search",
              "sub_location_label": "선착장과 인접 바위 해안",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L19B07"
            },
            {
              "applies_to_shots": [
                "S86_Shot7",
                "S86_Shot10",
                "S86_Shot13"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_island_dock"
              ],
              "loc_id": "L19",
              "space_key_hint": "main",
              "state_class": "busy_exit",
              "state_label_raw": "daytime dock escape with fugitives boarding a patrol boat as a violent mob charges from the village",
              "sub_location_label": "순찰정 접안 선착장",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L19B03"
            },
            {
              "applies_to_shots": [
                "S93_Shot2",
                "S93_Shot5",
                "S93_Shot8"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_island_dock"
              ],
              "loc_id": "L19",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "golden dusk dock vision with a seated maternal silhouette transforming into Yeongran holding a wet corpse",
              "sub_location_label": "노을 진 선착장 끝",
              "surface_role": "exterior_plate",
              "time_phase": "dusk",
              "bg_id": "L19B06"
            },
            {
              "applies_to_shots": [
                "S112_Shot6",
                "S112_Shot8",
                "S112_Shot13"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_island_dock"
              ],
              "loc_id": "L19",
              "space_key_hint": "main",
              "state_class": "clean_after",
              "state_label_raw": "clear peaceful daytime dock after the crisis, with a fishing boat ready to depart and children watching",
              "sub_location_label": "황 씨 어선 접안 구역",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L19B04"
            },
            {
              "applies_to_shots": [
                "S80_Shot14"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_gear_storehouse"
              ],
              "loc_id": "L41",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "dark cluttered gear storehouse under flashlight search, with blood-covered fugitives hidden in old nets",
              "sub_location_label": "어구 창고 그물 더미 구석",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L41B07"
            },
            {
              "applies_to_shots": [
                "S80_Shot31"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_gear_storehouse"
              ],
              "loc_id": "L41",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "daytime historical montage image of a blood-smeared famine victim transforming after cannibalism",
              "sub_location_label": "창고 내 역사 회상 이미지",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L41B04"
            },
            {
              "applies_to_shots": [
                "S80_Shot56"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L41",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "daytime historical vision of Joseon blood-demon survivors landing on Geumwoldo and greeting islanders",
              "sub_location_label": "창고에서 전개되는 과거 금월도 해변 환영",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L41B05"
            },
            {
              "applies_to_shots": [
                "S81_Shot4",
                "S81_Shot10",
                "S81_Shot12"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_gear_storehouse"
              ],
              "loc_id": "L41",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "dim night storehouse after the search, tense and still during a tearful family confession",
              "sub_location_label": "어구 창고 은신 구역",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L41B03"
            },
            {
              "applies_to_shots": [
                "S84_Shot1",
                "S84_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_gear_storehouse"
              ],
              "loc_id": "L41",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "dusty daytime storehouse hideout under threat, with surveillance through a grimy window and a handgun readied",
              "sub_location_label": "먼지 낀 창문 옆 은신 구역",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L41B06"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_island_dock",
              "loc_id": "L19",
              "scope": "Dock deck, mooring edges, boats, shoreline rocks, and village approach",
              "space_key_hint": "main",
              "sub_location": "island_dock"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_gear_storehouse",
              "loc_id": "L41",
              "scope": "Single cluttered storehouse with entry, window, gear aisles, nets, traps, and hiding corners",
              "space_key_hint": "main",
              "sub_location": "gear_storehouse_interior"
            }
          ],
          "group_id": "bg_island_dock_and_gear_storehouse",
          "rationale_summary": "선착장은 도착·시신·수색·탈출·환영 상태를 분리하고, 단일 창고 평면은 야간 수색과 은신 및 낮 방어 장면을 지원한다. 역사 몽타주는 별도 상태로 구분했다.",
          "gen_order": [
            "fp_island_dock",
            "fp_gear_storehouse",
            "L19B01",
            "L19B02",
            "L19B05",
            "L19B07",
            "L19B03",
            "L19B06",
            "L19B04",
            "L41B07",
            "L41B04",
            "L41B05",
            "L41B03",
            "L41B06"
          ]
        }
      },
      "bg_wooden_restaurant_compound": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S21_Shot2",
                "S21_Shot10",
                "S21_Shot16",
                "S48_Shot3",
                "S48_Shot10"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l20_restaurant_interior"
              ],
              "loc_id": "L20",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "daytime restaurant busy with family meal, raw meat service, and festival preparation",
              "sub_location_label": "반월 식당 홀과 주방",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L20B01"
            },
            {
              "applies_to_shots": [
                "S24_Shot4",
                "S24_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l20_restaurant_interior"
              ],
              "loc_id": "L20",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "moonlit empty restaurant with dark rooms and tense stillness",
              "sub_location_label": "불 꺼진 반월 식당 홀",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L20B05"
            },
            {
              "applies_to_shots": [
                "S63_Shot2",
                "S63_Shot8",
                "S63_Shot13"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l20_restaurant_interior"
              ],
              "loc_id": "L20",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "night meal dominated by bleeding raw meat, blood-smeared hands, and watching guards",
              "sub_location_label": "감시받는 반월 식당 홀",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L20B04"
            },
            {
              "applies_to_shots": [
                "S83_Shot4",
                "S83_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l20_restaurant_interior"
              ],
              "loc_id": "L20",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "tense daytime restaurant overlooking villagers conducting a search outside",
              "sub_location_label": "수색 상황을 지켜보는 식당 홀",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L20B02"
            },
            {
              "applies_to_shots": [
                "S90_Shot1",
                "S90_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l20_restaurant_interior"
              ],
              "loc_id": "L20",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "empty restaurant washed in red sunset while a disembodied lullaby leads the search",
              "sub_location_label": "노을빛의 텅 빈 식당",
              "surface_role": "interior_room",
              "time_phase": "dusk",
              "bg_id": "L20B03"
            },
            {
              "applies_to_shots": [
                "S36_Shot1",
                "S36_Shot4",
                "S36_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l21_back_room"
              ],
              "loc_id": "L21",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "overly peaceful sunlit room following sleep paralysis and an uncertain nightmare",
              "sub_location_label": "정갈한 식당 뒷방",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L21B01"
            },
            {
              "applies_to_shots": [
                "S50_Shot2",
                "S50_Shot3"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l21_back_room"
              ],
              "loc_id": "L21",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "dark bedroom under covert surveillance by rotating village guards outside the curtain",
              "sub_location_label": "감시받는 식당 뒷방",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L21B02"
            },
            {
              "applies_to_shots": [
                "S26_Shot2",
                "S26_Shot4",
                "S28_Shot2"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l22_backyard"
              ],
              "loc_id": "L22",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "pitch-dark backyard with a lit shed threshold and unlit forest-road approach",
              "sub_location_label": "창고와 숲길 입구가 있는 식당 뒤뜰",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L22B02"
            },
            {
              "applies_to_shots": [
                "S37_Shot3",
                "S37_Shot5",
                "S37_Shot10"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l22_backyard"
              ],
              "loc_id": "L22",
              "space_key_hint": "main",
              "state_class": "clean_after",
              "state_label_raw": "daylit backyard where the opened shed appears ordinary and the ritual has vanished",
              "sub_location_label": "평범하게 정리된 창고 앞 뒤뜰",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L22B03"
            },
            {
              "applies_to_shots": [
                "S66_Shot1"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l22_backyard"
              ],
              "loc_id": "L22",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "backyard in firefighting chaos with the old shed engulfed in towering flames",
              "sub_location_label": "불타는 창고가 있는 뒤뜰",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L22B05"
            },
            {
              "applies_to_shots": [
                "S72_Shot2",
                "S72_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l22_backyard"
              ],
              "loc_id": "L22",
              "space_key_hint": "main",
              "state_class": "ransacked",
              "state_label_raw": "fire-ravaged backyard with a fully burned shed still releasing black smoke",
              "sub_location_label": "전소된 창고 앞 뒤뜰",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L22B06"
            },
            {
              "applies_to_shots": [
                "S91_Shot1"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l22_backyard"
              ],
              "loc_id": "L22",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "empty sunset backyard filled by an unseen mother's continuing lullaby",
              "sub_location_label": "노을 진 식당 뒤뜰",
              "surface_role": "site_surface",
              "time_phase": "dusk",
              "bg_id": "L22B04"
            },
            {
              "applies_to_shots": [
                "S27_Shot2",
                "S27_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l23_old_shed_interior"
              ],
              "loc_id": "L23",
              "space_key_hint": "main",
              "state_class": "evidence_display",
              "state_label_raw": "candlelit occult altar displaying a goat head, bowl of blood, ancient spear, and lurking figure",
              "sub_location_label": "낡은 창고의 제단 공간",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L23B07"
            },
            {
              "applies_to_shots": [
                "S65_Shot2"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l40_front_and_village_road"
              ],
              "loc_id": "L40",
              "space_key_hint": "main",
              "state_class": "busy_exit",
              "state_label_raw": "guarded restaurant frontage as villagers abandon posts and rush toward a fire alarm",
              "sub_location_label": "반월 식당 앞 골목과 마을길",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L40B04"
            },
            {
              "applies_to_shots": [
                "S85_Shot3",
                "S85_Shot6"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l40_front_and_village_road"
              ],
              "loc_id": "L40",
              "space_key_hint": "main",
              "state_class": "arrival",
              "state_label_raw": "daytime village waterfront under search as a police patrol boat rapidly approaches",
              "sub_location_label": "식당 앞 마을길과 선착장 수역",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L40B01"
            },
            {
              "applies_to_shots": [
                "S92_Shot3"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l40_front_and_village_road"
              ],
              "loc_id": "L40",
              "space_key_hint": "main",
              "state_class": "dream_or_vision_state",
              "state_label_raw": "sunset restaurant frontage revealing a solitary mother-like figure at the pier",
              "sub_location_label": "노을 진 식당 앞과 선착장",
              "surface_role": "site_surface",
              "time_phase": "dusk",
              "bg_id": "L40B02"
            },
            {
              "applies_to_shots": [
                "S104_Shot3",
                "S104_Shot7",
                "S106_Shot2"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l40_front_and_village_road"
              ],
              "loc_id": "L40",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "night road assault ending with a blood-covered attacker emerging with the white antler spear",
              "sub_location_label": "반월 식당 앞 어두운 마을길",
              "surface_role": "site_surface",
              "time_phase": "night",
              "bg_id": "L40B03"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_l20_restaurant_interior",
              "loc_id": "L20",
              "scope": "Unified restaurant, shop, kitchen edge, dining hall, windows, and adjoining room doors",
              "space_key_hint": "main",
              "sub_location": "restaurant_interior"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l21_back_room",
              "loc_id": "L21",
              "scope": "Compact sleeping room with bedding, curtained window, and sliding doorway",
              "space_key_hint": "main",
              "sub_location": "back_room"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l22_backyard",
              "loc_id": "L22",
              "scope": "Backyard site with rear door, garden, drying platform, old shed, and forest-road approach",
              "space_key_hint": "main",
              "sub_location": "backyard_compound"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l23_old_shed_interior",
              "loc_id": "L23",
              "scope": "Cramped old shed interior with altar zone, storage edges, doorway, walls, and rafters",
              "space_key_hint": "main",
              "sub_location": "old_shed_interior"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l40_front_and_village_road",
              "loc_id": "L40",
              "scope": "Restaurant frontage, village road, guard positions, waterfront sightline, and pier approach",
              "space_key_hint": "main",
              "sub_location": "restaurant_front_village_road"
            }
          ],
          "group_id": "bg_wooden_restaurant_compound",
          "rationale_summary": "각 single-space 장소에 통합 도면 1개를 두고, 식당·뒤뜰·마을길의 시간대와 의식, 감시, 화재, 피의 사건 및 환영 상태를 구분했다.",
          "gen_order": [
            "fp_l20_restaurant_interior",
            "fp_l21_back_room",
            "fp_l22_backyard",
            "fp_l23_old_shed_interior",
            "fp_l40_front_and_village_road",
            "L20B01",
            "L20B05",
            "L20B04",
            "L20B02",
            "L20B03",
            "L21B01",
            "L21B02",
            "L22B02",
            "L22B03",
            "L22B05",
            "L22B06",
            "L22B04",
            "L23B07",
            "L40B04",
            "L40B01",
            "L40B02",
            "L40B03"
          ]
        }
      },
      "bg_island_residential_lanes": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_forest_path_network": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_natural_cave": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S25_Shot1",
                "S70_Shot1",
                "S70_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_cave_entrance"
              ],
              "loc_id": "L26",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "night forest cave entrance, timber-braced and ominously still as visitors hesitate at the threshold",
              "sub_location_label": "숲속 자연동굴 입구",
              "surface_role": "transition_zone",
              "time_phase": "night",
              "bg_id": "L26B03"
            },
            {
              "applies_to_shots": [
                "S51_Shot2",
                "S51_Shot4",
                "S51_Shot7"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_cave_interior"
              ],
              "loc_id": "L37",
              "space_key_hint": "main",
              "state_class": "normal",
              "state_label_raw": "dim night captivity chamber lit by a low bulb, with a chained prisoner on the cave floor",
              "sub_location_label": "동굴 내부 감금 구역",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L37B06"
            },
            {
              "applies_to_shots": [
                "S71_Shot2",
                "S71_Shot14",
                "S71_Shot19"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_cave_interior"
              ],
              "loc_id": "L37",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "flashlight-lit cave strewn with human remains, broken body parts, blood pools, and a chained captive",
              "sub_location_label": "동굴 깊은 인골·피웅덩이 구역",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L37B04"
            },
            {
              "applies_to_shots": [
                "S75_Shot2"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_cave_interior"
              ],
              "loc_id": "L37",
              "space_key_hint": "main",
              "state_class": "clean_after",
              "state_label_raw": "torch-lit aftermath in the vacated captivity corner, marked by an abandoned broken chain",
              "sub_location_label": "민숙이 사라진 감금 구역",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L37B05"
            },
            {
              "applies_to_shots": [
                "S94_Shot2",
                "S94_Shot7",
                "S96_Shot1",
                "S96_Shot4",
                "S98_Shot2",
                "S98_Shot5",
                "S98_Shot6",
                "S102_Shot1"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_cave_interior"
              ],
              "loc_id": "L37",
              "space_key_hint": "main",
              "state_class": "normal",
              "state_label_raw": "daytime cave captivity chamber with wall-anchored heavy chains and subdued lantern illumination",
              "sub_location_label": "동굴 내부 쇠사슬 감금 구역",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L37B03"
            },
            {
              "applies_to_shots": [
                "S102_Shot12"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_cave_interior"
              ],
              "loc_id": "L37",
              "space_key_hint": "main",
              "state_class": "evidence_display",
              "state_label_raw": "day holding recess revealing numerous bound and gagged female sacrifices crowded on the floor",
              "sub_location_label": "여성 제물 집단 감금 구역",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L37B02"
            },
            {
              "applies_to_shots": [
                "S102_Shot17"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [],
              "loc_id": "L37",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "day ritual tableau with a white-robed shaman standing before an altar in intense red firelight",
              "sub_location_label": "의식 제단과 모닥불 구역",
              "surface_role": "site_surface",
              "time_phase": "day",
              "bg_id": "L37B01"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_cave_entrance",
              "loc_id": "L26",
              "scope": "Timber-braced natural cave mouth, forest approach, and entry threshold",
              "space_key_hint": "main",
              "sub_location": "forest_cave_entrance"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_cave_interior",
              "loc_id": "L37",
              "scope": "Continuous cave interior with deep passage, remains field, and chained holding area",
              "space_key_hint": "main",
              "sub_location": "cave_interior"
            }
          ],
          "group_id": "bg_natural_cave",
          "rationale_summary": "각 single-space 위치는 단일 도면으로 유지하고, 입구의 정적·내부 감금·혈흔 현장·탈출 흔적·제물 공개·의식 상태를 구분했다.",
          "gen_order": [
            "fp_cave_entrance",
            "fp_cave_interior",
            "L26B03",
            "L37B06",
            "L37B04",
            "L37B05",
            "L37B03",
            "L37B02",
            "L37B01"
          ]
        }
      },
      "bg_forest_livestock_and_slaughter_compound": {
        "status": "ok",
        "plan": {
          "backgrounds": [
            {
              "applies_to_shots": [
                "S31_Shot3",
                "S109_Shot2"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l27_goat_shed"
              ],
              "loc_id": "L27",
              "space_key_hint": "main",
              "state_class": "busy",
              "state_label_raw": "night goat shed crowded with agitated black goats, with narrow paths through the herd",
              "sub_location_label": "숲속 염소 축사와 우리 통로",
              "surface_role": "exterior_plate",
              "time_phase": "night",
              "bg_id": "L27B04"
            },
            {
              "applies_to_shots": [
                "S58_Shot1",
                "S58_Shot4"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l27_goat_shed"
              ],
              "loc_id": "L27",
              "space_key_hint": "main",
              "state_class": "quiet",
              "state_label_raw": "daytime abandoned goat shed, empty of animals and unnaturally still",
              "sub_location_label": "텅 빈 숲속 염소 축사",
              "surface_role": "exterior_plate",
              "time_phase": "day",
              "bg_id": "L27B02"
            },
            {
              "applies_to_shots": [
                "S76_Shot5"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l28_slaughterhouse_exterior"
              ],
              "loc_id": "L28",
              "space_key_hint": "main",
              "state_class": "arrival",
              "state_label_raw": "moonlit makeshift slaughterhouse exterior with open doorway leading into deep darkness",
              "sub_location_label": "도축장 외부 출입문과 문턱",
              "surface_role": "transition_zone",
              "time_phase": "night",
              "bg_id": "L28B01"
            },
            {
              "applies_to_shots": [
                "S32_Shot10",
                "S32_Shot12",
                "S32_Shot14",
                "S77_Shot1",
                "S77_Shot8",
                "S77_Shot10"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l29_slaughterhouse_interior"
              ],
              "loc_id": "L29",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "dark active slaughter room with hanging knives, hooks, blood buckets, splashes, and harsh flash illumination",
              "sub_location_label": "도축장 작업실",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L29B04"
            },
            {
              "applies_to_shots": [
                "S44_Shot1",
                "S44_Shot7",
                "S44_Shot12"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l29_slaughterhouse_interior"
              ],
              "loc_id": "L29",
              "space_key_hint": "main",
              "state_class": "blood_scene",
              "state_label_raw": "daylit slaughter room where broken-window sunlight reveals bloodstains, steel hooks, and gleaming knives",
              "sub_location_label": "핏자국이 드러난 도축장 작업실",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L29B01"
            },
            {
              "applies_to_shots": [
                "S59_Shot6"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l29_slaughterhouse_interior"
              ],
              "loc_id": "L29",
              "space_key_hint": "main",
              "state_class": "evidence_display",
              "state_label_raw": "daytime storage corner with blood-soaked sacks opened to expose dismembered human remains",
              "sub_location_label": "도축장 창고와 포대자루 더미",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L29B02"
            },
            {
              "applies_to_shots": [
                "S59_Shot12",
                "S59_Shot16"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l29_slaughterhouse_interior"
              ],
              "loc_id": "L29",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "daytime slaughterhouse storage alcove under search, framed by an opening and closing dark storeroom door",
              "sub_location_label": "도축장 창고 쪽문 안팎",
              "surface_role": "interior_room",
              "time_phase": "day",
              "bg_id": "L29B03"
            },
            {
              "applies_to_shots": [
                "S108_Shot4",
                "S108_Shot6",
                "S108_Shot9"
              ],
              "depends_on_bg": [],
              "depends_on_fp": [
                "fp_l29_slaughterhouse_interior"
              ],
              "loc_id": "L29",
              "space_key_hint": "main",
              "state_class": "intrusion",
              "state_label_raw": "pitch-dark storeroom hideout with sticky blood dripping from the ceiling and a predator overhead",
              "sub_location_label": "도축장 내부 어두운 창고",
              "surface_role": "interior_room",
              "time_phase": "night",
              "bg_id": "L29B05"
            }
          ],
          "floor_plans": [
            {
              "depends_on_fp": [],
              "fp_id": "fp_l27_goat_shed",
              "loc_id": "L27",
              "scope": "Goat shed footprint, animal pen, and the path crossing the enclosure.",
              "space_key_hint": "main",
              "sub_location": "goat_shed_and_pen"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l28_slaughterhouse_exterior",
              "loc_id": "L28",
              "scope": "Makeshift slaughterhouse facade, approach ground, doorway, and exterior threshold.",
              "space_key_hint": "main",
              "sub_location": "slaughterhouse_exterior_entry"
            },
            {
              "depends_on_fp": [],
              "fp_id": "fp_l29_slaughterhouse_interior",
              "loc_id": "L29",
              "scope": "Entire slaughterhouse interior, including work floor, broken window, and storage alcove.",
              "space_key_hint": "main",
              "sub_location": "slaughterhouse_interior"
            }
          ],
          "group_id": "bg_forest_livestock_and_slaughter_compound",
          "rationale_summary": "각 single_space 위치에 1개 도면을 두고, 축사의 군집·공백 상태와 도축장 내부의 피살, 증거 노출, 침입 상태를 시간대별로 구분했다.",
          "gen_order": [
            "fp_l27_goat_shed",
            "fp_l28_slaughterhouse_exterior",
            "fp_l29_slaughterhouse_interior",
            "L27B04",
            "L27B02",
            "L28B01",
            "L29B04",
            "L29B01",
            "L29B02",
            "L29B03",
            "L29B05"
          ]
        }
      },
      "bg_forest_ritual_clearing": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_roadside_gas_station": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_mainland_harbor": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_seaside_outdoor_dining": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_rocky_coastal_path": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_police_patrol_boat_deck": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_historical_drought_field": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_historical_village_dirt_lane": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_historical_thatched_house": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_historical_government_courtyard": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_historical_mountain_path": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_historical_burning_mountain_village": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_historical_sailing_boat_deck": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_historical_island_beach": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_island_wave_rock": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_island_sea_cliff": {
        "status": "prev_shot_only",
        "plan": null
      },
      "bg_coastal_police_substation": {
        "status": "prev_shot_only",
        "plan": null
      }
    },
    "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_shed_front"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S1_Shot7"
        ],
        "sub_location_label": "낡은 소금창고 입구 앞",
        "state_label_raw": "fleeing survivors arriving at and rushing through the old salt-shed doorway"
      },
      "L01B03": {
        "bg_id": "L01B03",
        "loc_id": "L01",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "blood_scene",
        "surface_role": "exterior_plate",
        "semantic_key": "L01|main|day|blood_scene",
        "depends_on_fp": [
          "fp_l01_reed_field_shed_front"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S3_Shot6",
          "S3_Shot11",
          "S3_Shot15",
          "S97_Shot1",
          "S97_Shot5",
          "S97_Shot6"
        ],
        "sub_location_label": "피로 물든 창고 앞 흙바닥",
        "state_label_raw": "shed-front killing ground covered with bloodied Japanese bodies, wounded smoke entity, and feeding survivors"
      },
      "L01B02": {
        "bg_id": "L01B02",
        "loc_id": "L01",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "busy",
        "surface_role": "exterior_plate",
        "semantic_key": "L01|main|day|busy",
        "depends_on_fp": [
          "fp_l01_reed_field_shed_front"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S1_Shot3",
          "S1_Shot5"
        ],
        "sub_location_label": "겨울 갈대숲과 소금창고 전면",
        "state_label_raw": "daytime winter reed field under active 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_salt_shed_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S2_Shot3",
          "S2_Shot5"
        ],
        "sub_location_label": "침입당한 창고 내부와 문턱",
        "state_label_raw": "shed interior breached through the open door by Japanese soldiers before an officer is 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_salt_shed_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S2_Shot1"
        ],
        "sub_location_label": "소금창고 내부 은신 공간",
        "state_label_raw": "dim makeshift wooden shed interior with survivors huddled together in fearful silence"
      },
      "L05B01": {
        "bg_id": "L05B01",
        "loc_id": "L05",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "arrival",
        "surface_role": "interior_room",
        "semantic_key": "L05|main|night|arrival",
        "depends_on_fp": [
          "fp_l05_refrigerator_work_area"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S5_Shot6"
        ],
        "sub_location_label": "냉장고 유리문과 뒤편 작업 공간",
        "state_label_raw": "boyfriend newly visible through the stocked refrigerator glass door from the sales floor"
      },
      "L05B02": {
        "bg_id": "L05B02",
        "loc_id": "L05",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "blood_scene",
        "surface_role": "interior_room",
        "semantic_key": "L05|main|night|blood_scene",
        "depends_on_fp": [
          "fp_l05_refrigerator_work_area"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S5_Shot4"
        ],
        "sub_location_label": "냉장고 뒤편 흰색 타일 바닥",
        "state_label_raw": "single dark-red blood drop visible on the white tile floor behind the refrigerators"
      },
      "L05B03": {
        "bg_id": "L05B03",
        "loc_id": "L05",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "quiet",
        "surface_role": "interior_room",
        "semantic_key": "L05|main|night|quiet",
        "depends_on_fp": [
          "fp_l05_refrigerator_work_area"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S5_Shot1"
        ],
        "sub_location_label": "편의점 냉장고 뒤편 작업 공간",
        "state_label_raw": "night shift quiet behind stocked beverage refrigerators with discarded food basket"
      },
      "L06B02": {
        "bg_id": "L06B02",
        "loc_id": "L06",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "normal",
        "surface_role": "exterior_plate",
        "semantic_key": "L06|main|night|normal",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S6_Shot3",
          "S6_Shot7",
          "S8_Shot1",
          "S8_Shot5"
        ],
        "sub_location_label": "편의점 앞 야외 벤치",
        "state_label_raw": "nighttime convenience-store frontage with bench, two people talking, canned coffee and money envelope"
      },
      "L07B02": {
        "bg_id": "L07B02",
        "loc_id": "L07",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "dream_or_vision_state",
        "surface_role": "site_surface",
        "semantic_key": "L07|main|day|dream_or_vision_state",
        "depends_on_fp": [
          "fp_police_station_parking"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S7_Shot5",
          "S7_Shot6",
          "S7_Shot8"
        ],
        "sub_location_label": "경찰서 주차장",
        "state_label_raw": "daytime police station parking lot during Inwoo's recollection, with an emotionally tense private exchange"
      },
      "L08B03": {
        "bg_id": "L08B03",
        "loc_id": "L08",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "blood_scene",
        "surface_role": "interior_room",
        "semantic_key": "L08|main|night|blood_scene",
        "depends_on_fp": [
          "fp_l08_home_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S12_Shot2",
          "S12_Shot6",
          "S12_Shot11"
        ],
        "sub_location_label": "핏자국과 파손 흔적이 남은 민숙 집 거실",
        "state_label_raw": "night interior violently ransacked, with smashed furniture, broken fixtures, scattered debris, and vivid bloodstains"
      },
      "L08B02": {
        "bg_id": "L08B02",
        "loc_id": "L08",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "intrusion",
        "surface_role": "interior_room",
        "semantic_key": "L08|main|night|intrusion",
        "depends_on_fp": [
          "fp_l08_home_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S9_Shot2",
          "S9_Shot6"
        ],
        "sub_location_label": "민숙 집 거실과 현관",
        "state_label_raw": "night interior under threatening intrusion, with an unknown woman on the sofa and a large man blocking the entrance"
      },
      "L09B03": {
        "bg_id": "L09B03",
        "loc_id": "L09",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "arrival",
        "surface_role": "interior_room",
        "semantic_key": "L09|main|night|arrival",
        "depends_on_fp": [
          "fp_l09_store_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S10_Shot5"
        ],
        "sub_location_label": "카운터에서 바라본 편의점 입구",
        "state_label_raw": "late-night counter view toward the dark entrance as a customer enters and the door bell rings"
      },
      "L09B02": {
        "bg_id": "L09B02",
        "loc_id": "L09",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "quiet",
        "surface_role": "interior_room",
        "semantic_key": "L09|main|night|quiet",
        "depends_on_fp": [
          "fp_l09_store_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S10_Shot1"
        ],
        "sub_location_label": "편의점 카운터와 매장 내부",
        "state_label_raw": "quiet late-night store interior with Jihu alone at the counter holding a money envelope"
      },
      "L10B03": {
        "bg_id": "L10B03",
        "loc_id": "L10",
        "space_key": "main",
        "time_phase": "dusk",
        "state_class": "busy",
        "surface_role": "site_surface",
        "semantic_key": "L10|main|dusk|busy",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S14_Shot2",
          "S14_Shot3"
        ],
        "sub_location_label": "앰뷸런스와 경찰이 모인 다세대주택 골목",
        "state_label_raw": "dusk emergency scene with flashing police lights, an ambulance, officers, and gathered neighbors"
      },
      "L10B04": {
        "bg_id": "L10B04",
        "loc_id": "L10",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "arrival",
        "surface_role": "site_surface",
        "semantic_key": "L10|main|night|arrival",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S11_Shot2"
        ],
        "sub_location_label": "다세대주택 앞 골목길",
        "state_label_raw": "dark residential alley as a police car brakes to a stop with its red beacon flashing"
      },
      "L10B05": {
        "bg_id": "L10B05",
        "loc_id": "L10",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "busy",
        "surface_role": "transition_zone",
        "semantic_key": "L10|main|night|busy",
        "depends_on_fp": [
          "fp_l10_alley_and_stairs"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S11_Shot4"
        ],
        "sub_location_label": "낡은 다세대주택 외부 계단",
        "state_label_raw": "dark, worn exterior stairs during an urgent ascent toward the residence"
      },
      "L12B01": {
        "bg_id": "L12B01",
        "loc_id": "L12",
        "space_key": "main",
        "time_phase": "dawn",
        "state_class": "dream_or_vision_state",
        "surface_role": "interior_room",
        "semantic_key": "L12|main|dawn|dream_or_vision_state",
        "depends_on_fp": [
          "fp_suv_cabin"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S18_Shot1",
          "S18_Shot3"
        ],
        "sub_location_label": "구형 SUV 조수석 및 운전석",
        "state_label_raw": "dawn flashback with the freed captive seated in front holding a graduation photo"
      },
      "L12B02": {
        "bg_id": "L12B02",
        "loc_id": "L12",
        "space_key": "main",
        "time_phase": "dawn",
        "state_class": "intrusion",
        "surface_role": "interior_room",
        "semantic_key": "L12|main|dawn|intrusion",
        "depends_on_fp": [
          "fp_suv_cabin"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S15_Shot3",
          "S15_Shot5"
        ],
        "sub_location_label": "구형 SUV 운전석, 룸미러 및 뒷좌석",
        "state_label_raw": "dawn cabin with a frightened bound captive awake in the rear seat"
      },
      "L12B03": {
        "bg_id": "L12B03",
        "loc_id": "L12",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "intrusion",
        "surface_role": "interior_room",
        "semantic_key": "L12|main|night|intrusion",
        "depends_on_fp": [
          "fp_suv_cabin"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S13_Shot3",
          "S13_Shot4"
        ],
        "sub_location_label": "구형 SUV 운전석 및 뒷좌석",
        "state_label_raw": "night driving with a bound captive lying across the rear seat"
      },
      "L14B03": {
        "bg_id": "L14B03",
        "loc_id": "L14",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "evidence_display",
        "surface_role": "interior_room",
        "semantic_key": "L14|main|day|evidence_display",
        "depends_on_fp": [
          "fp_detective_office"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S16_Shot1",
          "S16_Shot5"
        ],
        "sub_location_label": "경찰서 형사과 사무실",
        "state_label_raw": "detective office during CCTV review and phone-message examination, monitor area visually emphasized"
      },
      "L15B04": {
        "bg_id": "L15B04",
        "loc_id": "L15",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "busy",
        "surface_role": "transition_zone",
        "semantic_key": "L15|main|day|busy",
        "depends_on_fp": [
          "fp_l15_boat_deck_exterior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S101_Shot1",
          "S101_Shot7",
          "S101_Shot9"
        ],
        "sub_location_label": "만원 상태의 갑판과 선착장 접안부",
        "state_label_raw": "bright crowded festival-day deck and boarding edge packed with anglers and bar women"
      },
      "L15B05": {
        "bg_id": "L15B05",
        "loc_id": "L15",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "dream_or_vision_state",
        "surface_role": "site_surface",
        "semantic_key": "L15|main|day|dream_or_vision_state",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S19_Shot12"
        ],
        "sub_location_label": "배에서 바라본 금월도 해상 전경",
        "state_label_raw": "sunlit blue sea with all neighboring islands gone and an impossibly beautiful Geumwoldo alone"
      },
      "L15B06": {
        "bg_id": "L15B06",
        "loc_id": "L15",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "normal",
        "surface_role": "exterior_plate",
        "semantic_key": "L15|main|day|normal",
        "depends_on_fp": [
          "fp_l15_boat_deck_exterior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S17_Shot1",
          "S17_Shot6",
          "S19_Shot2",
          "S19_Shot7"
        ],
        "sub_location_label": "낚시 어선 갑판과 주행 외부",
        "state_label_raw": "clear daytime voyage with active wake, open deck passage, bow and stern seating areas"
      },
      "L15B07": {
        "bg_id": "L15B07",
        "loc_id": "L15",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "quiet",
        "surface_role": "site_surface",
        "semantic_key": "L15|main|day|quiet",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S113_Shot2",
          "S113_Shot3"
        ],
        "sub_location_label": "금월도를 떠나는 배와 선착장 사이",
        "state_label_raw": "quiet emotional departure across the boat deck, open water, and receding Geumwoldo dock"
      },
      "L16B01": {
        "bg_id": "L16B01",
        "loc_id": "L16",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "normal",
        "surface_role": "interior_room",
        "semantic_key": "L16|main|day|normal",
        "depends_on_fp": [
          "fp_l16_wheelhouse"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S54_Shot3"
        ],
        "sub_location_label": "안개 낀 조타실 내부",
        "state_label_raw": "daytime wheelhouse under dense sea fog with helm, windows, and hostile transit atmosphere"
      },
      "L16B02": {
        "bg_id": "L16B02",
        "loc_id": "L16",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "quiet",
        "surface_role": "exterior_plate",
        "semantic_key": "L16|main|day|quiet",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S54_Shot4"
        ],
        "sub_location_label": "조타실 시야 너머 안개 속 금월도",
        "state_label_raw": "dark ominous Geumwoldo emerging silently through dense daytime fog"
      },
      "L19B01": {
        "bg_id": "L19B01",
        "loc_id": "L19",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "arrival",
        "surface_role": "exterior_plate",
        "semantic_key": "L19|main|day|arrival",
        "depends_on_fp": [
          "fp_island_dock"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S20_Shot8",
          "S20_Shot11",
          "S20_Shot13",
          "S55_Shot3",
          "S55_Shot5",
          "S55_Shot7"
        ],
        "sub_location_label": "금월도 선착장 도착 구역",
        "state_label_raw": "daytime dock arrivals, contrasting an exuberant welcome with a cold hostile reception"
      },
      "L19B02": {
        "bg_id": "L19B02",
        "loc_id": "L19",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "busy",
        "surface_role": "exterior_plate",
        "semantic_key": "L19|main|day|busy",
        "depends_on_fp": [
          "fp_island_dock"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S38_Shot1",
          "S38_Shot7"
        ],
        "sub_location_label": "정박 어선 앞 선착장",
        "state_label_raw": "daytime working dock with a moored fishing boat being decorated with rope and paper figures"
      },
      "L19B03": {
        "bg_id": "L19B03",
        "loc_id": "L19",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "busy_exit",
        "surface_role": "exterior_plate",
        "semantic_key": "L19|main|day|busy_exit",
        "depends_on_fp": [
          "fp_island_dock"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S86_Shot7",
          "S86_Shot10",
          "S86_Shot13"
        ],
        "sub_location_label": "순찰정 접안 선착장",
        "state_label_raw": "daytime dock escape with fugitives boarding a patrol boat as a violent mob charges from the village"
      },
      "L19B04": {
        "bg_id": "L19B04",
        "loc_id": "L19",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "clean_after",
        "surface_role": "exterior_plate",
        "semantic_key": "L19|main|day|clean_after",
        "depends_on_fp": [
          "fp_island_dock"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S112_Shot6",
          "S112_Shot8",
          "S112_Shot13"
        ],
        "sub_location_label": "황 씨 어선 접안 구역",
        "state_label_raw": "clear peaceful daytime dock after the crisis, with a fishing boat ready to depart and children watching"
      },
      "L19B05": {
        "bg_id": "L19B05",
        "loc_id": "L19",
        "space_key": "main",
        "time_phase": "dusk",
        "state_class": "blood_scene",
        "surface_role": "exterior_plate",
        "semantic_key": "L19|main|dusk|blood_scene",
        "depends_on_fp": [
          "fp_island_dock"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S61_Shot1",
          "S61_Shot12",
          "S61_Shot16"
        ],
        "sub_location_label": "선착장 시신 수습 구역",
        "state_label_raw": "dusk dock crowded around a waterlogged claw-marked corpse on a broad plastic sheet"
      },
      "L19B06": {
        "bg_id": "L19B06",
        "loc_id": "L19",
        "space_key": "main",
        "time_phase": "dusk",
        "state_class": "dream_or_vision_state",
        "surface_role": "exterior_plate",
        "semantic_key": "L19|main|dusk|dream_or_vision_state",
        "depends_on_fp": [
          "fp_island_dock"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S93_Shot2",
          "S93_Shot5",
          "S93_Shot8"
        ],
        "sub_location_label": "노을 진 선착장 끝",
        "state_label_raw": "golden dusk dock vision with a seated maternal silhouette transforming into Yeongran holding a wet corpse"
      },
      "L19B07": {
        "bg_id": "L19B07",
        "loc_id": "L19",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "busy",
        "surface_role": "site_surface",
        "semantic_key": "L19|main|night|busy",
        "depends_on_fp": [
          "fp_island_dock"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S79_Shot1",
          "S79_Shot3"
        ],
        "sub_location_label": "선착장과 인접 바위 해안",
        "state_label_raw": "brightly lit night dock and rocky shoreline crowded by villagers conducting a flashlight search"
      },
      "L20B01": {
        "bg_id": "L20B01",
        "loc_id": "L20",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "busy",
        "surface_role": "interior_room",
        "semantic_key": "L20|main|day|busy",
        "depends_on_fp": [
          "fp_l20_restaurant_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S21_Shot2",
          "S21_Shot10",
          "S21_Shot16",
          "S48_Shot3",
          "S48_Shot10"
        ],
        "sub_location_label": "반월 식당 홀과 주방",
        "state_label_raw": "daytime restaurant busy with family meal, raw meat service, and festival preparation"
      },
      "L20B02": {
        "bg_id": "L20B02",
        "loc_id": "L20",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "quiet",
        "surface_role": "interior_room",
        "semantic_key": "L20|main|day|quiet",
        "depends_on_fp": [
          "fp_l20_restaurant_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S83_Shot4",
          "S83_Shot5"
        ],
        "sub_location_label": "수색 상황을 지켜보는 식당 홀",
        "state_label_raw": "tense daytime restaurant overlooking villagers conducting a search outside"
      },
      "L20B03": {
        "bg_id": "L20B03",
        "loc_id": "L20",
        "space_key": "main",
        "time_phase": "dusk",
        "state_class": "dream_or_vision_state",
        "surface_role": "interior_room",
        "semantic_key": "L20|main|dusk|dream_or_vision_state",
        "depends_on_fp": [
          "fp_l20_restaurant_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S90_Shot1",
          "S90_Shot4"
        ],
        "sub_location_label": "노을빛의 텅 빈 식당",
        "state_label_raw": "empty restaurant washed in red sunset while a disembodied lullaby leads the search"
      },
      "L20B04": {
        "bg_id": "L20B04",
        "loc_id": "L20",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "blood_scene",
        "surface_role": "interior_room",
        "semantic_key": "L20|main|night|blood_scene",
        "depends_on_fp": [
          "fp_l20_restaurant_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S63_Shot2",
          "S63_Shot8",
          "S63_Shot13"
        ],
        "sub_location_label": "감시받는 반월 식당 홀",
        "state_label_raw": "night meal dominated by bleeding raw meat, blood-smeared hands, and watching guards"
      },
      "L20B05": {
        "bg_id": "L20B05",
        "loc_id": "L20",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "quiet",
        "surface_role": "interior_room",
        "semantic_key": "L20|main|night|quiet",
        "depends_on_fp": [
          "fp_l20_restaurant_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S24_Shot4",
          "S24_Shot5"
        ],
        "sub_location_label": "불 꺼진 반월 식당 홀",
        "state_label_raw": "moonlit empty restaurant with dark rooms and tense stillness"
      },
      "L21B01": {
        "bg_id": "L21B01",
        "loc_id": "L21",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "dream_or_vision_state",
        "surface_role": "interior_room",
        "semantic_key": "L21|main|day|dream_or_vision_state",
        "depends_on_fp": [
          "fp_l21_back_room"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S36_Shot1",
          "S36_Shot4",
          "S36_Shot5"
        ],
        "sub_location_label": "정갈한 식당 뒷방",
        "state_label_raw": "overly peaceful sunlit room following sleep paralysis and an uncertain nightmare"
      },
      "L21B02": {
        "bg_id": "L21B02",
        "loc_id": "L21",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "intrusion",
        "surface_role": "interior_room",
        "semantic_key": "L21|main|night|intrusion",
        "depends_on_fp": [
          "fp_l21_back_room"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S50_Shot2",
          "S50_Shot3"
        ],
        "sub_location_label": "감시받는 식당 뒷방",
        "state_label_raw": "dark bedroom under covert surveillance by rotating village guards outside the curtain"
      },
      "L22B03": {
        "bg_id": "L22B03",
        "loc_id": "L22",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "clean_after",
        "surface_role": "site_surface",
        "semantic_key": "L22|main|day|clean_after",
        "depends_on_fp": [
          "fp_l22_backyard"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S37_Shot3",
          "S37_Shot5",
          "S37_Shot10"
        ],
        "sub_location_label": "평범하게 정리된 창고 앞 뒤뜰",
        "state_label_raw": "daylit backyard where the opened shed appears ordinary and the ritual has vanished"
      },
      "L22B04": {
        "bg_id": "L22B04",
        "loc_id": "L22",
        "space_key": "main",
        "time_phase": "dusk",
        "state_class": "dream_or_vision_state",
        "surface_role": "site_surface",
        "semantic_key": "L22|main|dusk|dream_or_vision_state",
        "depends_on_fp": [
          "fp_l22_backyard"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S91_Shot1"
        ],
        "sub_location_label": "노을 진 식당 뒤뜰",
        "state_label_raw": "empty sunset backyard filled by an unseen mother's continuing lullaby"
      },
      "L22B05": {
        "bg_id": "L22B05",
        "loc_id": "L22",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "busy",
        "surface_role": "site_surface",
        "semantic_key": "L22|main|night|busy",
        "depends_on_fp": [
          "fp_l22_backyard"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S66_Shot1"
        ],
        "sub_location_label": "불타는 창고가 있는 뒤뜰",
        "state_label_raw": "backyard in firefighting chaos with the old shed engulfed in towering flames"
      },
      "L22B02": {
        "bg_id": "L22B02",
        "loc_id": "L22",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "intrusion",
        "surface_role": "site_surface",
        "semantic_key": "L22|main|night|intrusion",
        "depends_on_fp": [
          "fp_l22_backyard"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S26_Shot2",
          "S26_Shot4",
          "S28_Shot2"
        ],
        "sub_location_label": "창고와 숲길 입구가 있는 식당 뒤뜰",
        "state_label_raw": "pitch-dark backyard with a lit shed threshold and unlit forest-road approach"
      },
      "L22B06": {
        "bg_id": "L22B06",
        "loc_id": "L22",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "ransacked",
        "surface_role": "site_surface",
        "semantic_key": "L22|main|night|ransacked",
        "depends_on_fp": [
          "fp_l22_backyard"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S72_Shot2",
          "S72_Shot4"
        ],
        "sub_location_label": "전소된 창고 앞 뒤뜰",
        "state_label_raw": "fire-ravaged backyard with a fully burned shed still releasing black smoke"
      },
      "L23B07": {
        "bg_id": "L23B07",
        "loc_id": "L23",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "evidence_display",
        "surface_role": "interior_room",
        "semantic_key": "L23|main|night|evidence_display",
        "depends_on_fp": [
          "fp_l23_old_shed_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S27_Shot2",
          "S27_Shot5"
        ],
        "sub_location_label": "낡은 창고의 제단 공간",
        "state_label_raw": "candlelit occult altar displaying a goat head, bowl of blood, ancient spear, and lurking figure"
      },
      "L26B03": {
        "bg_id": "L26B03",
        "loc_id": "L26",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "quiet",
        "surface_role": "transition_zone",
        "semantic_key": "L26|main|night|quiet",
        "depends_on_fp": [
          "fp_cave_entrance"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S25_Shot1",
          "S70_Shot1",
          "S70_Shot4"
        ],
        "sub_location_label": "숲속 자연동굴 입구",
        "state_label_raw": "night forest cave entrance, timber-braced and ominously still as visitors hesitate at the threshold"
      },
      "L27B02": {
        "bg_id": "L27B02",
        "loc_id": "L27",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "quiet",
        "surface_role": "exterior_plate",
        "semantic_key": "L27|main|day|quiet",
        "depends_on_fp": [
          "fp_l27_goat_shed"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S58_Shot1",
          "S58_Shot4"
        ],
        "sub_location_label": "텅 빈 숲속 염소 축사",
        "state_label_raw": "daytime abandoned goat shed, empty of animals and unnaturally still"
      },
      "L27B04": {
        "bg_id": "L27B04",
        "loc_id": "L27",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "busy",
        "surface_role": "exterior_plate",
        "semantic_key": "L27|main|night|busy",
        "depends_on_fp": [
          "fp_l27_goat_shed"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S31_Shot3",
          "S109_Shot2"
        ],
        "sub_location_label": "숲속 염소 축사와 우리 통로",
        "state_label_raw": "night goat shed crowded with agitated black goats, with narrow paths through the herd"
      },
      "L28B01": {
        "bg_id": "L28B01",
        "loc_id": "L28",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "arrival",
        "surface_role": "transition_zone",
        "semantic_key": "L28|main|night|arrival",
        "depends_on_fp": [
          "fp_l28_slaughterhouse_exterior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S76_Shot5"
        ],
        "sub_location_label": "도축장 외부 출입문과 문턱",
        "state_label_raw": "moonlit makeshift slaughterhouse exterior with open doorway leading into deep darkness"
      },
      "L29B01": {
        "bg_id": "L29B01",
        "loc_id": "L29",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "blood_scene",
        "surface_role": "interior_room",
        "semantic_key": "L29|main|day|blood_scene",
        "depends_on_fp": [
          "fp_l29_slaughterhouse_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S44_Shot1",
          "S44_Shot7",
          "S44_Shot12"
        ],
        "sub_location_label": "핏자국이 드러난 도축장 작업실",
        "state_label_raw": "daylit slaughter room where broken-window sunlight reveals bloodstains, steel hooks, and gleaming knives"
      },
      "L29B02": {
        "bg_id": "L29B02",
        "loc_id": "L29",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "evidence_display",
        "surface_role": "interior_room",
        "semantic_key": "L29|main|day|evidence_display",
        "depends_on_fp": [
          "fp_l29_slaughterhouse_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S59_Shot6"
        ],
        "sub_location_label": "도축장 창고와 포대자루 더미",
        "state_label_raw": "daytime storage corner with blood-soaked sacks opened to expose dismembered human remains"
      },
      "L29B03": {
        "bg_id": "L29B03",
        "loc_id": "L29",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "intrusion",
        "surface_role": "interior_room",
        "semantic_key": "L29|main|day|intrusion",
        "depends_on_fp": [
          "fp_l29_slaughterhouse_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S59_Shot12",
          "S59_Shot16"
        ],
        "sub_location_label": "도축장 창고 쪽문 안팎",
        "state_label_raw": "daytime slaughterhouse storage alcove under search, framed by an opening and closing dark storeroom door"
      },
      "L29B04": {
        "bg_id": "L29B04",
        "loc_id": "L29",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "blood_scene",
        "surface_role": "interior_room",
        "semantic_key": "L29|main|night|blood_scene",
        "depends_on_fp": [
          "fp_l29_slaughterhouse_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S32_Shot10",
          "S32_Shot12",
          "S32_Shot14",
          "S77_Shot1",
          "S77_Shot8",
          "S77_Shot10"
        ],
        "sub_location_label": "도축장 작업실",
        "state_label_raw": "dark active slaughter room with hanging knives, hooks, blood buckets, splashes, and harsh flash illumination"
      },
      "L29B05": {
        "bg_id": "L29B05",
        "loc_id": "L29",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "intrusion",
        "surface_role": "interior_room",
        "semantic_key": "L29|main|night|intrusion",
        "depends_on_fp": [
          "fp_l29_slaughterhouse_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S108_Shot4",
          "S108_Shot6",
          "S108_Shot9"
        ],
        "sub_location_label": "도축장 내부 어두운 창고",
        "state_label_raw": "pitch-dark storeroom hideout with sticky blood dripping from the ceiling and a predator overhead"
      },
      "L37B01": {
        "bg_id": "L37B01",
        "loc_id": "L37",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "busy",
        "surface_role": "site_surface",
        "semantic_key": "L37|main|day|busy",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S102_Shot17"
        ],
        "sub_location_label": "의식 제단과 모닥불 구역",
        "state_label_raw": "day ritual tableau with a white-robed shaman standing before an altar in intense red firelight"
      },
      "L37B02": {
        "bg_id": "L37B02",
        "loc_id": "L37",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "evidence_display",
        "surface_role": "interior_room",
        "semantic_key": "L37|main|day|evidence_display",
        "depends_on_fp": [
          "fp_cave_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S102_Shot12"
        ],
        "sub_location_label": "여성 제물 집단 감금 구역",
        "state_label_raw": "day holding recess revealing numerous bound and gagged female sacrifices crowded on the floor"
      },
      "L37B03": {
        "bg_id": "L37B03",
        "loc_id": "L37",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "normal",
        "surface_role": "interior_room",
        "semantic_key": "L37|main|day|normal",
        "depends_on_fp": [
          "fp_cave_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S94_Shot2",
          "S94_Shot7",
          "S96_Shot1",
          "S96_Shot4",
          "S98_Shot2",
          "S98_Shot5",
          "S98_Shot6",
          "S102_Shot1"
        ],
        "sub_location_label": "동굴 내부 쇠사슬 감금 구역",
        "state_label_raw": "daytime cave captivity chamber with wall-anchored heavy chains and subdued lantern illumination"
      },
      "L37B04": {
        "bg_id": "L37B04",
        "loc_id": "L37",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "blood_scene",
        "surface_role": "interior_room",
        "semantic_key": "L37|main|night|blood_scene",
        "depends_on_fp": [
          "fp_cave_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S71_Shot2",
          "S71_Shot14",
          "S71_Shot19"
        ],
        "sub_location_label": "동굴 깊은 인골·피웅덩이 구역",
        "state_label_raw": "flashlight-lit cave strewn with human remains, broken body parts, blood pools, and a chained captive"
      },
      "L37B05": {
        "bg_id": "L37B05",
        "loc_id": "L37",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "clean_after",
        "surface_role": "interior_room",
        "semantic_key": "L37|main|night|clean_after",
        "depends_on_fp": [
          "fp_cave_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S75_Shot2"
        ],
        "sub_location_label": "민숙이 사라진 감금 구역",
        "state_label_raw": "torch-lit aftermath in the vacated captivity corner, marked by an abandoned broken chain"
      },
      "L37B06": {
        "bg_id": "L37B06",
        "loc_id": "L37",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "normal",
        "surface_role": "interior_room",
        "semantic_key": "L37|main|night|normal",
        "depends_on_fp": [
          "fp_cave_interior"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S51_Shot2",
          "S51_Shot4",
          "S51_Shot7"
        ],
        "sub_location_label": "동굴 내부 감금 구역",
        "state_label_raw": "dim night captivity chamber lit by a low bulb, with a chained prisoner on the cave floor"
      },
      "L40B01": {
        "bg_id": "L40B01",
        "loc_id": "L40",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "arrival",
        "surface_role": "site_surface",
        "semantic_key": "L40|main|day|arrival",
        "depends_on_fp": [
          "fp_l40_front_and_village_road"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S85_Shot3",
          "S85_Shot6"
        ],
        "sub_location_label": "식당 앞 마을길과 선착장 수역",
        "state_label_raw": "daytime village waterfront under search as a police patrol boat rapidly approaches"
      },
      "L40B02": {
        "bg_id": "L40B02",
        "loc_id": "L40",
        "space_key": "main",
        "time_phase": "dusk",
        "state_class": "dream_or_vision_state",
        "surface_role": "site_surface",
        "semantic_key": "L40|main|dusk|dream_or_vision_state",
        "depends_on_fp": [
          "fp_l40_front_and_village_road"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S92_Shot3"
        ],
        "sub_location_label": "노을 진 식당 앞과 선착장",
        "state_label_raw": "sunset restaurant frontage revealing a solitary mother-like figure at the pier"
      },
      "L40B03": {
        "bg_id": "L40B03",
        "loc_id": "L40",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "blood_scene",
        "surface_role": "site_surface",
        "semantic_key": "L40|main|night|blood_scene",
        "depends_on_fp": [
          "fp_l40_front_and_village_road"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S104_Shot3",
          "S104_Shot7",
          "S106_Shot2"
        ],
        "sub_location_label": "반월 식당 앞 어두운 마을길",
        "state_label_raw": "night road assault ending with a blood-covered attacker emerging with the white antler spear"
      },
      "L40B04": {
        "bg_id": "L40B04",
        "loc_id": "L40",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "busy_exit",
        "surface_role": "site_surface",
        "semantic_key": "L40|main|night|busy_exit",
        "depends_on_fp": [
          "fp_l40_front_and_village_road"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S65_Shot2"
        ],
        "sub_location_label": "반월 식당 앞 골목과 마을길",
        "state_label_raw": "guarded restaurant frontage as villagers abandon posts and rush toward a fire alarm"
      },
      "L41B04": {
        "bg_id": "L41B04",
        "loc_id": "L41",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "blood_scene",
        "surface_role": "interior_room",
        "semantic_key": "L41|main|day|blood_scene",
        "depends_on_fp": [
          "fp_gear_storehouse"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S80_Shot31"
        ],
        "sub_location_label": "창고 내 역사 회상 이미지",
        "state_label_raw": "daytime historical montage image of a blood-smeared famine victim transforming after cannibalism"
      },
      "L41B05": {
        "bg_id": "L41B05",
        "loc_id": "L41",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "dream_or_vision_state",
        "surface_role": "site_surface",
        "semantic_key": "L41|main|day|dream_or_vision_state",
        "depends_on_fp": [],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S80_Shot56"
        ],
        "sub_location_label": "창고에서 전개되는 과거 금월도 해변 환영",
        "state_label_raw": "daytime historical vision of Joseon blood-demon survivors landing on Geumwoldo and greeting islanders"
      },
      "L41B06": {
        "bg_id": "L41B06",
        "loc_id": "L41",
        "space_key": "main",
        "time_phase": "day",
        "state_class": "intrusion",
        "surface_role": "interior_room",
        "semantic_key": "L41|main|day|intrusion",
        "depends_on_fp": [
          "fp_gear_storehouse"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S84_Shot1",
          "S84_Shot5"
        ],
        "sub_location_label": "먼지 낀 창문 옆 은신 구역",
        "state_label_raw": "dusty daytime storehouse hideout under threat, with surveillance through a grimy window and a handgun readied"
      },
      "L41B07": {
        "bg_id": "L41B07",
        "loc_id": "L41",
        "space_key": "main",
        "time_phase": "night",
        "state_class": "intrusion",
        "surface_role": "interior_room",
        "semantic_key": "L41|main|night|intrusion",
        "depends_on_fp": [
          "fp_gear_storehouse"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S80_Shot14"
        ],
        "sub_location_label": "어구 창고 그물 더미 구석",
        "state_label_raw": "dark cluttered gear storehouse under flashlight search, with blood-covered fugitives hidden in old nets"
      },
      "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_gear_storehouse"
        ],
        "depends_on_bg": [],
        "applies_to_shots": [
          "S81_Shot4",
          "S81_Shot10",
          "S81_Shot12"
        ],
        "sub_location_label": "어구 창고 은신 구역",
        "state_label_raw": "dim night storehouse after the search, tense and still during a tearful family confession"
      }
    },
    "shot_background_map": {
      "S1_Shot7": "L01B01",
      "S1_Shot3": "L01B02",
      "S1_Shot5": "L01B02",
      "S3_Shot6": "L01B03",
      "S3_Shot11": "L01B03",
      "S3_Shot15": "L01B03",
      "S97_Shot1": "L01B03",
      "S97_Shot5": "L01B03",
      "S97_Shot6": "L01B03",
      "S2_Shot3": "L02B01",
      "S2_Shot5": "L02B01",
      "S2_Shot1": "L02B02",
      "S5_Shot6": "L05B01",
      "S5_Shot4": "L05B02",
      "S5_Shot1": "L05B03",
      "S6_Shot3": "L06B02",
      "S6_Shot7": "L06B02",
      "S8_Shot1": "L06B02",
      "S8_Shot5": "L06B02",
      "S7_Shot5": "L07B02",
      "S7_Shot6": "L07B02",
      "S7_Shot8": "L07B02",
      "S9_Shot2": "L08B02",
      "S9_Shot6": "L08B02",
      "S12_Shot2": "L08B03",
      "S12_Shot6": "L08B03",
      "S12_Shot11": "L08B03",
      "S10_Shot1": "L09B02",
      "S10_Shot5": "L09B03",
      "S14_Shot2": "L10B03",
      "S14_Shot3": "L10B03",
      "S11_Shot2": "L10B04",
      "S11_Shot4": "L10B05",
      "S18_Shot1": "L12B01",
      "S18_Shot3": "L12B01",
      "S15_Shot3": "L12B02",
      "S15_Shot5": "L12B02",
      "S13_Shot3": "L12B03",
      "S13_Shot4": "L12B03",
      "S16_Shot1": "L14B03",
      "S16_Shot5": "L14B03",
      "S101_Shot1": "L15B04",
      "S101_Shot7": "L15B04",
      "S101_Shot9": "L15B04",
      "S19_Shot12": "L15B05",
      "S17_Shot1": "L15B06",
      "S17_Shot6": "L15B06",
      "S19_Shot2": "L15B06",
      "S19_Shot7": "L15B06",
      "S113_Shot2": "L15B07",
      "S113_Shot3": "L15B07",
      "S54_Shot3": "L16B01",
      "S54_Shot4": "L16B02",
      "S20_Shot8": "L19B01",
      "S20_Shot11": "L19B01",
      "S20_Shot13": "L19B01",
      "S55_Shot3": "L19B01",
      "S55_Shot5": "L19B01",
      "S55_Shot7": "L19B01",
      "S38_Shot1": "L19B02",
      "S38_Shot7": "L19B02",
      "S86_Shot7": "L19B03",
      "S86_Shot10": "L19B03",
      "S86_Shot13": "L19B03",
      "S112_Shot6": "L19B04",
      "S112_Shot8": "L19B04",
      "S112_Shot13": "L19B04",
      "S61_Shot1": "L19B05",
      "S61_Shot12": "L19B05",
      "S61_Shot16": "L19B05",
      "S93_Shot2": "L19B06",
      "S93_Shot5": "L19B06",
      "S93_Shot8": "L19B06",
      "S79_Shot1": "L19B07",
      "S79_Shot3": "L19B07",
      "S21_Shot2": "L20B01",
      "S21_Shot10": "L20B01",
      "S21_Shot16": "L20B01",
      "S48_Shot3": "L20B01",
      "S48_Shot10": "L20B01",
      "S83_Shot4": "L20B02",
      "S83_Shot5": "L20B02",
      "S90_Shot1": "L20B03",
      "S90_Shot4": "L20B03",
      "S63_Shot2": "L20B04",
      "S63_Shot8": "L20B04",
      "S63_Shot13": "L20B04",
      "S24_Shot4": "L20B05",
      "S24_Shot5": "L20B05",
      "S36_Shot1": "L21B01",
      "S36_Shot4": "L21B01",
      "S36_Shot5": "L21B01",
      "S50_Shot2": "L21B02",
      "S50_Shot3": "L21B02",
      "S26_Shot2": "L22B02",
      "S26_Shot4": "L22B02",
      "S28_Shot2": "L22B02",
      "S37_Shot3": "L22B03",
      "S37_Shot5": "L22B03",
      "S37_Shot10": "L22B03",
      "S91_Shot1": "L22B04",
      "S66_Shot1": "L22B05",
      "S72_Shot2": "L22B06",
      "S72_Shot4": "L22B06",
      "S27_Shot2": "L23B07",
      "S27_Shot5": "L23B07",
      "S25_Shot1": "L26B03",
      "S70_Shot1": "L26B03",
      "S70_Shot4": "L26B03",
      "S58_Shot1": "L27B02",
      "S58_Shot4": "L27B02",
      "S31_Shot3": "L27B04",
      "S109_Shot2": "L27B04",
      "S76_Shot5": "L28B01",
      "S44_Shot1": "L29B01",
      "S44_Shot7": "L29B01",
      "S44_Shot12": "L29B01",
      "S59_Shot6": "L29B02",
      "S59_Shot12": "L29B03",
      "S59_Shot16": "L29B03",
      "S32_Shot10": "L29B04",
      "S32_Shot12": "L29B04",
      "S32_Shot14": "L29B04",
      "S77_Shot1": "L29B04",
      "S77_Shot8": "L29B04",
      "S77_Shot10": "L29B04",
      "S108_Shot4": "L29B05",
      "S108_Shot6": "L29B05",
      "S108_Shot9": "L29B05",
      "S102_Shot17": "L37B01",
      "S102_Shot12": "L37B02",
      "S94_Shot2": "L37B03",
      "S94_Shot7": "L37B03",
      "S96_Shot1": "L37B03",
      "S96_Shot4": "L37B03",
      "S98_Shot2": "L37B03",
      "S98_Shot5": "L37B03",
      "S98_Shot6": "L37B03",
      "S102_Shot1": "L37B03",
      "S71_Shot2": "L37B04",
      "S71_Shot14": "L37B04",
      "S71_Shot19": "L37B04",
      "S75_Shot2": "L37B05",
      "S51_Shot2": "L37B06",
      "S51_Shot4": "L37B06",
      "S51_Shot7": "L37B06",
      "S85_Shot3": "L40B01",
      "S85_Shot6": "L40B01",
      "S92_Shot3": "L40B02",
      "S104_Shot3": "L40B03",
      "S104_Shot7": "L40B03",
      "S106_Shot2": "L40B03",
      "S65_Shot2": "L40B04",
      "S81_Shot4": "L41B03",
      "S81_Shot10": "L41B03",
      "S81_Shot12": "L41B03",
      "S80_Shot31": "L41B04",
      "S80_Shot56": "L41B05",
      "S84_Shot1": "L41B06",
      "S84_Shot5": "L41B06",
      "S80_Shot14": "L41B07"
    },
    "bg_catalog_hash": "e49c2c9a6fcd6ef0",
    "shot_binding_hash": "a3341b690b593c74",
    "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": 23,
        "kept_backgrounds_count": 71,
        "dropped_floor_plans_count": 1,
        "dropped_backgrounds_count": 0,
        "dropped_groups_count": 0,
        "dropped_floor_plans": [
          {
            "group_id": "bg_convenience_store",
            "fp_id": "fp_l06_front_bench",
            "loc_id": "L06",
            "is_indoor": false,
            "shot_count": 4,
            "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": "L17",
              "label": "황 씨의 낚시 어선 어창 내부",
              "shot_count": 0,
              "reason": "no_location_profile"
            }
          ]
        }
      }
    }
  },
  "step_id": "background_master_plan",
  "run_id": "d3dcba01-9741-4b69-8862-487b19da86a4",
  "resolved_model": "gpt",
  "updated_at": "2026-08-07T06:28:12.328984+00:00",
  "project_config_snapshot": {}
}