{
  "status": "completed",
  "applicable_count": 4,
  "completed_count": 4,
  "failed_count": 0,
  "schema_version": 1,
  "config_hash": "5fd2f989362d936a",
  "data": {
    "groups": {
      "bg_multi_family_rooftop_unit": {
        "status": "ok",
        "spaces": [
          "옥상 외부 공간",
          "현관",
          "거실 겸 주방",
          "안방",
          "작은 침실",
          "욕실"
        ],
        "validation": {
          "fails": [],
          "warnings": [
            "uncertain: 옥탑방 내부의 정확한 복도 유무 (방과 욕실이 모두 거실에서 직접 연결되는지, 짧은 내부 복도가 있는지 명시되지 않았다. 소형 옥탑방 규모상 거실 중심 연결로 처리했으나 도면 확정 정보는 부족하다.)",
            "uncertain: 안방 외기 창의 직접 묘사 여부 (안방의 창은 직접 언급되지 않았으나, 외벽에 면한 현대 주거 침실의 기본 채광·환기 개구부로 검소하게 포함했다. 만약 안방이 완전 내측방이라는 도면 증거가 나오면 조정 필요하다.)",
            "uncertain: 욕실 외기 환기창의 위치 (욕실 벽과 거울은 확인되지만 외벽 접면과 창 위치는 명시되지 않았다. 옥탑 소형 주거의 현실 기본으로 외벽 환기창을 포함했으나 정확한 벽면은 미정이다.)",
            "uncertain: 옥탑방 외벽의 정확한 시공 재료 (오래된 빌라 옥탑방이라는 증거상 조적/경량패널/블록 증축 가능성이 높지만, 특정 재료가 원문에 직접 명시되지는 않았다.)"
          ],
          "independent_spaces": 6,
          "separate_space_evidence": 6
        },
        "frame_checks": {
          "indoor": {
            "frame_preserved": false,
            "frame_doors_first": 4,
            "frame_doors_second": 4,
            "frame_windows_first": 4,
            "frame_windows_second": 4,
            "rooms_first": 4,
            "rooms_second": 4,
            "changed_frame_elements": [
              "둘째 이미지에서 현관문 바깥쪽에 계단/발판처럼 보이는 외부 access path 요소가 추가됨",
              "벽, 실내문 4개, 창문 4개, 방 구획 4개는 첫째 이미지와 동일한 위치와 연결로 유지됨"
            ],
            "verdict": "주요 벽·문·창·실 구획은 보존됐지만, 현관 외부 access path가 추가되어 frame이 완전 보존되지는 않음"
          }
        },
        "plates": {
          "옥상 외부 공간": {
            "status": "ok",
            "kind": "outdoor_t2i",
            "png": "bg_space1.png",
            "key": "space1",
            "num": 1,
            "reference": "single_t2i (FP 미경유)",
            "enclosure": "open_air"
          },
          "거실 겸 주방": {
            "status": "ok",
            "kind": "marked_indoor",
            "png": "bg_space2.png",
            "key": "space2",
            "num": 2,
            "reference": "marked_fp:#2",
            "enclosure": "enclosed"
          },
          "안방": {
            "status": "ok",
            "kind": "marked_indoor",
            "png": "bg_space3.png",
            "key": "space3",
            "num": 3,
            "reference": "marked_fp:#3",
            "enclosure": "enclosed"
          },
          "작은 침실": {
            "status": "ok",
            "kind": "marked_indoor",
            "png": "bg_space4.png",
            "key": "space4",
            "num": 4,
            "reference": "marked_fp:#4",
            "enclosure": "enclosed"
          },
          "욕실": {
            "status": "ok",
            "kind": "marked_indoor",
            "png": "bg_space5.png",
            "key": "space5",
            "num": 5,
            "reference": "marked_fp:#5",
            "enclosure": "enclosed"
          }
        },
        "connectors": [
          {
            "room": "현관",
            "enclosure": "threshold",
            "role": "entry connector (no plate)",
            "view": "A wide view from just inside the metal exterior entrance with the camera backed against the door, looking inward so the exterior door itself is not visible. The whole tiny threshold area is shown: the low shoe-removal step, narrow entry floor, simple lock hardware area implied at the rear edge, a small shoe cabinet or low shoe storage along the wall, a basic entry light, and the short interior passage leading directly into the living-kitchen space."
          }
        ],
        "descs": {
          "whole": "A small, shabby rooftop dwelling on an old multi-family villa in a modern Korean urban outskirts setting, with a rough waterproofed concrete roof deck, low cement parapet, exposed plastic water tank, tied laundry lines, a plain wooden or metal platform, and a simple iron door leading into a narrow entry threshold. Inside, the compact added-on structure shows modest sandwich-panel or lightweight masonry construction with cheap interior finishes, low ceilings, thin partitions, a compressed living-kitchen area with a small stainless sink, one- or two-burner cooker, small dining table, chairs, TV, and a subdued practical lamp. The separate small bedrooms and tiled bathroom are cramped and functional, with plain wallpaper, thin doors, simple beds, a curtained window, a wall mirror, small washbasin, basic toilet, dull fluorescent or TV-lit tones, and a cold gray-blue, damp concrete, worn everyday texture typical of an aging Korean rooftop home.",
          "indoor": "A cramped modern Korean rooftop dwelling interior, built with modest later-added materials: a metal entrance door with a low shoe-removal threshold, thin partition walls, low ceilings, cheap wallpaper, simple trim, and a compressed living-kitchen area rather than a full apartment layout. The main room combines a small stainless sink, one- or two-burner cooktop, compact dining table with light chairs, a modest TV, and a small stand lamp, all under cold fluorescent and muted TV light with worn gray-blue, faded green, and damp off-white tones. Separate tiny bedrooms contain plain beds, one with a curtained window, while the narrow bathroom has basic waterproof tile, a small sink, toilet, wall mirror, and drainable floor, keeping the texture practical, aged, and slightly humid.",
          "outdoor": "A small, modest rooftop service space on an old low-rise Korean multi-family building, with rough waterproofed cement flooring, low concrete parapet walls, and a worn utilitarian finish in damp blue-gray tones. A plain plastic water tank, tied laundry lines, and a low wooden or metal platform sit on the exposed roof surface, arranged like everyday household infrastructure rather than decoration. The adjacent rooftop dwelling shows mismatched added-on exterior walls of lightweight block or sandwich-panel construction, a simple steel entrance door, small windows, and cheaply finished outer wall sections that look visibly newer and flimsier than the original concrete roof."
        },
        "assets_dir": "/Users/manta/Documents/Projects/TheRoad-I1/projects/3bc50b18-6887-4103-b09d-b37f71507cf4/checkpoints/episodes/20347a83-8536-43fe-8586-665409ceb594/space_set_bg/assets/bg_multi_family_rooftop_unit",
        "shot_plate_map": {
          "4_1": {
            "space": "옥상 외부 공간",
            "plate_key": "space1",
            "plate_png": "bg_space1.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S4_Shot1",
            "basis": "평상과 물탱크가 있는 텅 빈 옥상 외부 전경으로 명시됨.",
            "plate_action": "reuse_base"
          },
          "5_3": {
            "space": "거실 겸 주방",
            "plate_key": "space2",
            "plate_png": "bg_space2.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S5_Shot3",
            "basis": "TV 뉴스를 바라보는 민숙이며, TV는 거실 겸 주방의 고정 요소로 제시됨.",
            "plate_action": "reuse_base"
          },
          "10_5": {
            "space": "옥상 외부 공간",
            "plate_key": "space1",
            "plate_png": "bg_derived_10_5.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S10_Shot5",
            "basis": "옥탑방 유리창 너머를 외부에서 보는 실루엣 컷으로, 카메라는 창 밖 옥상 외부 쪽에 머무름.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera from the rooftop wide position to just outside the lit rooftop-room window. Frame the fixed window glass as the main surface, with the interior only visible as a dark silhouette beyond it.",
            "canonical_plate_key": "space1",
            "canonical_plate_png": "bg_space1.png",
            "secondary_spaces": [
              "거실 겸 주방"
            ]
          },
          "12_9": {
            "space": "작은 침실",
            "plate_key": "space4",
            "plate_png": "bg_derived_12_9.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S12_Shot9",
            "basis": "수리영 방에서 커튼을 젖힌 창가 앞에 있는 민숙의 전신으로 명시됨.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera inside the small bedroom toward the curtained window area. Frame the window-side floor and curtain zone more tightly than the base view, keeping the existing bed and wall arrangement as spatial reference.",
            "canonical_plate_key": "space4",
            "canonical_plate_png": "bg_space4.png"
          },
          "12_19": {
            "space": "작은 침실",
            "plate_key": "space4",
            "plate_png": "bg_derived_12_19.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S12_Shot19",
            "basis": "침대 위 벽면에 붉은 원이 생기는 컷으로, 작은 침실의 침대와 벽이 증거임.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera to face the wall area directly above the bed in the small bedroom. Let the empty wall surface over the bed fill most of the frame, with only minimal surrounding wall or bed edge for orientation.",
            "canonical_plate_key": "space4",
            "canonical_plate_png": "bg_space4.png"
          },
          "14_5": {
            "space": "작은 침실",
            "plate_key": "space4",
            "plate_png": "bg_derived_14_5.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S14_Shot5",
            "basis": "수리영 방 안에서 시신이 사라진 창가 빈 커튼 쪽을 보는 장면임.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera inside the small bedroom toward the window and curtain side. Frame the clean, empty curtain area from the room side, using the existing bed-wall-window layout as reference.",
            "canonical_plate_key": "space4",
            "canonical_plate_png": "bg_space4.png"
          },
          "14_9": {
            "space": "거실 겸 주방",
            "plate_key": "space2",
            "plate_png": "bg_space2.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S14_Shot9",
            "basis": "식탁 쪽을 확인한 뒤 혜수가 수리영을 달래는 흐름으로, 거실 겸 주방에서 이어지는 인물 상체 컷으로 판단됨.",
            "plate_action": "reuse_base"
          },
          "17_1": {
            "space": "옥상 외부 공간",
            "plate_key": "space1",
            "plate_png": "bg_derived_17_1.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S17_Shot1",
            "basis": "새벽 담장 위에서 불 켜진 옥탑방 창문을 바라보는 외부 컷으로 옥상 외부 공간에 해당함.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera to the rooftop perimeter wall or parapet and frame along the cement edge toward the lit rooftop-room window. Keep the exterior wall line and window direction as the main spatial references.",
            "canonical_plate_key": "space1",
            "canonical_plate_png": "bg_space1.png"
          },
          "18_5": {
            "space": "작은 침실",
            "plate_key": "space4",
            "plate_png": "bg_derived_18_5.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S18_Shot5",
            "basis": "자기 방의 열린 방문 사이로 깨끗한 바닥을 보는 정물 컷임.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Place the camera just outside or at the small bedroom doorway and look inward through the open door. Let the clean floor inside the room fill the frame, with the door frame acting as the foreground boundary.",
            "canonical_plate_key": "space4",
            "canonical_plate_png": "bg_space4.png"
          },
          "18_12": {
            "space": "욕실",
            "plate_key": "space5",
            "plate_png": "bg_derived_18_12.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S18_Shot12",
            "basis": "욕실 거울에 비친 뒤쪽 타일 벽면과 붉은 원이 명시됨.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera close behind the bathroom mirror position so the mirror reflection frames the rear tiled wall. Let the mirror surface and reflected tile wall occupy most of the image.",
            "canonical_plate_key": "space5",
            "canonical_plate_png": "bg_space5.png"
          },
          "25_6": {
            "space": "작은 침실",
            "plate_key": "space4",
            "plate_png": "bg_derived_25_6.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S25_Shot6",
            "basis": "수리영 방 벽의 붉은 원 한가운데 꽂힌 사진 클로즈업임.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera close to the small bedroom wall where the mark is placed. Frame the wall surface tightly so the marked area fills the shot, using the existing bedroom wall above or near the bed as orientation.",
            "canonical_plate_key": "space4",
            "canonical_plate_png": "bg_space4.png"
          },
          "27_1": {
            "space": "거실 겸 주방",
            "plate_key": "space2",
            "plate_png": "bg_space2.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S27_Shot1",
            "basis": "어두운 옥탑방 거실에서 스마트폰을 확인하는 혜수의 상체로 명시됨.",
            "plate_action": "reuse_base"
          },
          "27_3": {
            "space": "거실 겸 주방",
            "plate_key": "space2",
            "plate_png": "bg_space2.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S27_Shot3",
            "basis": "같은 옥탑방 거실 대화 장면에서 김형사의 상체를 잡은 컷임.",
            "plate_action": "reuse_base"
          }
        },
        "shot_assign_diagnostics": [
          {
            "reason": "plate_action_no_plate",
            "scene": 5,
            "shot": 9,
            "space": "현관",
            "basis": "수리영이 신발을 신는 현관 대목에서 민숙 손목의 표식을 보는 맥락이나, 화면은 손목 클로즈업이라 공간 배경은 사실상 보이지 않음."
          },
          {
            "reason": "plate_action_no_plate",
            "scene": 5,
            "shot": 10,
            "space": "현관",
            "basis": "손목 표식을 보는 수리영의 눈매로, 직전 현관에서 신발을 신는 상황의 반응 클로즈업이나 배경 정보는 없음."
          },
          {
            "reason": "connector_no_plate",
            "scene": 10,
            "shot": 4,
            "space": "현관"
          },
          {
            "reason": "plate_action_no_plate",
            "scene": 11,
            "shot": 3,
            "space": "옥상 외부 공간",
            "basis": "옥상 문턱에 선 수리영의 얼굴 클로즈업으로 옥상 도착 상황이지만 배경은 거의 드러나지 않음."
          },
          {
            "reason": "connector_no_plate",
            "scene": 11,
            "shot": 4,
            "space": "현관"
          },
          {
            "reason": "plate_action_no_plate",
            "scene": 12,
            "shot": 15,
            "space": "작은 침실",
            "basis": "수리영 방 시신 장면 안에서 민숙의 손아귀와 사진만 잡는 정물 클로즈업임."
          },
          {
            "reason": "unassigned",
            "scene": 13,
            "shot": 3,
            "basis": "건물 앞 어두운 길가는 제공된 공간 목록에 없음."
          },
          {
            "reason": "unassigned",
            "scene": 13,
            "shot": 6,
            "basis": "건물 앞에서 혜수를 올려다보는 수리영의 옆얼굴로, 목록 내 공간이라는 증거가 없음."
          },
          {
            "reason": "unassigned",
            "scene": 13,
            "shot": 8,
            "basis": "옥탑방으로 오르는 가파른 계단은 공간 목록에 없음."
          },
          {
            "reason": "plate_action_no_plate",
            "scene": 18,
            "shot": 15,
            "space": "거실 겸 주방",
            "basis": "식탁 위 액자 속 사진 이미지 클로즈업으로, 식탁은 거실 겸 주방 요소이나 공간 배경은 사실상 보이지 않음."
          },
          {
            "reason": "connector_no_plate",
            "scene": 25,
            "shot": 1,
            "space": "현관"
          },
          {
            "reason": "plate_action_no_plate",
            "scene": 25,
            "shot": 11,
            "space": "작은 침실",
            "basis": "수리영 방에서 사진을 떼어 본 뒤 손에 쥔 사진 클로즈업으로, 배경은 공간 판단에 쓰이지 않음."
          }
        ],
        "derived_plates": {
          "10_5": {
            "status": "ok",
            "png": "bg_derived_10_5.png",
            "canonical_plate_key": "space1",
            "space": "옥상 외부 공간",
            "derive_instruction": "Move the camera from the rooftop wide position to just outside the lit rooftop-room window. Frame the fixed window glass as the main surface, with the interior only visible as a dark silhouette beyond it."
          },
          "12_9": {
            "status": "ok",
            "png": "bg_derived_12_9.png",
            "canonical_plate_key": "space4",
            "space": "작은 침실",
            "derive_instruction": "Move the camera inside the small bedroom toward the curtained window area. Frame the window-side floor and curtain zone more tightly than the base view, keeping the existing bed and wall arrangement as spatial reference."
          },
          "12_19": {
            "status": "ok",
            "png": "bg_derived_12_19.png",
            "canonical_plate_key": "space4",
            "space": "작은 침실",
            "derive_instruction": "Move the camera to face the wall area directly above the bed in the small bedroom. Let the empty wall surface over the bed fill most of the frame, with only minimal surrounding wall or bed edge for orientation."
          },
          "14_5": {
            "status": "ok",
            "png": "bg_derived_14_5.png",
            "canonical_plate_key": "space4",
            "space": "작은 침실",
            "derive_instruction": "Move the camera inside the small bedroom toward the window and curtain side. Frame the clean, empty curtain area from the room side, using the existing bed-wall-window layout as reference."
          },
          "17_1": {
            "status": "ok",
            "png": "bg_derived_17_1.png",
            "canonical_plate_key": "space1",
            "space": "옥상 외부 공간",
            "derive_instruction": "Move the camera to the rooftop perimeter wall or parapet and frame along the cement edge toward the lit rooftop-room window. Keep the exterior wall line and window direction as the main spatial references."
          },
          "18_5": {
            "status": "ok",
            "png": "bg_derived_18_5.png",
            "canonical_plate_key": "space4",
            "space": "작은 침실",
            "derive_instruction": "Place the camera just outside or at the small bedroom doorway and look inward through the open door. Let the clean floor inside the room fill the frame, with the door frame acting as the foreground boundary."
          },
          "18_12": {
            "status": "ok",
            "png": "bg_derived_18_12.png",
            "canonical_plate_key": "space5",
            "space": "욕실",
            "derive_instruction": "Move the camera close behind the bathroom mirror position so the mirror reflection frames the rear tiled wall. Let the mirror surface and reflected tile wall occupy most of the image."
          },
          "25_6": {
            "status": "ok",
            "png": "bg_derived_25_6.png",
            "canonical_plate_key": "space4",
            "space": "작은 침실",
            "derive_instruction": "Move the camera close to the small bedroom wall where the mark is placed. Frame the wall surface tightly so the marked area fills the shot, using the existing bedroom wall above or near the bed as orientation."
          }
        }
      },
      "bg_large_mart": {
        "status": "ok",
        "spaces": [
          "마트 전면 외부",
          "판매장",
          "총무과/보안 업무실"
        ],
        "validation": {
          "fails": [],
          "warnings": [
            "uncertain: 총무과/보안 업무실의 외벽 창 유무 (실내 업무실이 외벽에 면하는지, 후방 내부 칸막이실인지 직접 증거가 없다. 외벽에 면한다면 작은 사무실 창이 가능하지만, 내부 사무구획일 가능성도 있어 frame opening에는 확정 창을 넣지 않았다.)",
            "uncertain: 주차장 규모 (자전거를 주차한다는 증거는 있으나 자동차 주차장, 대형 주차구획, 지상/지하 주차장 여부는 언급되지 않는다.)",
            "uncertain: 계산대의 정확한 위치와 개수 (대형 마트의 운영상 기본 설비로 최소 계산/응대 카운터는 필요하지만, 장면에 직접 계산 행위나 계산대 샷이 없다.)",
            "uncertain: 직원용 후방 통로와 창고 (진열 작업과 총무과 접근상 후방 업무구역이 현실적으로 존재하지만, 별도 촬영 공간이나 하위구분 증거가 없어 separate_space로 추가하지 않는다.)"
          ],
          "independent_spaces": 3,
          "separate_space_evidence": 3
        },
        "frame_checks": {
          "indoor": {
            "frame_preserved": true,
            "frame_doors_first": 2,
            "frame_doors_second": 2,
            "frame_windows_first": 4,
            "frame_windows_second": 4,
            "rooms_first": 2,
            "rooms_second": 2,
            "changed_frame_elements": [],
            "verdict": "벽, 출입문, 창, 실 구성과 연결 관계가 원본 FRAME과 동일하게 보존되었으며 추가 요소는 가구/설비로 판단됨"
          }
        },
        "plates": {
          "마트 전면 외부": {
            "status": "ok",
            "kind": "outdoor_t2i",
            "png": "bg_space1.png",
            "key": "space1",
            "num": 1,
            "reference": "single_t2i (FP 미경유)",
            "enclosure": "open_air"
          },
          "판매장": {
            "status": "ok",
            "kind": "marked_indoor",
            "png": "bg_space2.png",
            "key": "space2",
            "num": 2,
            "reference": "marked_fp:#2",
            "enclosure": "enclosed"
          },
          "총무과/보안 업무실": {
            "status": "ok",
            "kind": "marked_indoor",
            "png": "bg_space3.png",
            "key": "space3",
            "num": 3,
            "reference": "marked_fp:#3",
            "enclosure": "enclosed"
          }
        },
        "connectors": [],
        "descs": {
          "whole": "A contemporary Korean-style big-box supermarket has a practical front exterior of metal panels, stone tile, and concrete finishes, with a plain illuminated commercial sign, wall-mounted security camera, paved entry edge, and space for temporary bicycle parking near the entrance. Inside, the wide sales floor uses open aisles of standardized metal-and-board shelving, a modest customer service or checkout counter, glass entry frontage, and evenly cold fluorescent or LED line lighting over dull gray flooring. A small staff-only administration and security office sits behind the retail area, built from lightweight partition walls, a fire door, office flooring, metal storage cabinets, and a simple desk with CCTV monitors under harsh panel lights, keeping the palette cool blue-gray, faded green, and worn commercial beige.",
          "indoor": "A practical modern Korean big-box supermarket sales floor with wide vinyl-tile aisles, waist-high metal-and-laminate shelving, a plain checkout/customer-service counter near glass entrance panels, and exposed commercial ceiling grids filled with harsh fluorescent or LED line lights. The palette is cool gray, faded green, and off-white, with slightly worn fixtures, stacked product boxes, CCTV domes, and a clean but utilitarian everyday retail texture rather than a polished luxury look. In the back-of-house area, a small staff administration and security office is built from lightweight gypsum-board partitions, a fire-rated door, office flooring, flat panel lighting, a simple desk with CCTV monitors and input devices, basic office chairs, and modest metal storage cabinets.",
          "outdoor": "A modern Korean big-box supermarket frontage in a small west-coast port town, with wet concrete paving, a narrow curbside stopping area, temporary bicycle parking space, and a practical façade of metal panels, stone-like tile, and painted concrete under cold gray-blue dusk light. High on the exterior wall are a small bracket-mounted security camera and a plain illuminated commercial sign with no readable branding, while the main sales-floor mass shows broad glass doors and shopfront glazing. A more utilitarian adjoining office/service volume is visible only from outside as flatter partition-like wall sections with a modest service door or small window, noticeably plainer than the main retail façade."
        },
        "assets_dir": "/Users/manta/Documents/Projects/TheRoad-I1/projects/3bc50b18-6887-4103-b09d-b37f71507cf4/checkpoints/episodes/20347a83-8536-43fe-8586-665409ceb594/space_set_bg/assets/bg_large_mart",
        "shot_plate_map": {
          "8_3": {
            "space": "판매장",
            "plate_key": "space2",
            "plate_png": "bg_space2.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S8_Shot3",
            "basis": "‘진열대 앞’에서 마트 직원과 마주 선 장면으로, 판매장 선반/통로 환경이 직접 언급됨.",
            "plate_action": "reuse_base"
          },
          "8_5": {
            "space": "마트 전면 외부",
            "plate_key": "space1",
            "plate_png": "bg_space1.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S8_Shot5",
            "basis": "‘마트 밖 어두워진 거리’에 서 있는 장면으로 마트 외부 전면 공간에 해당함.",
            "plate_action": "reuse_base"
          },
          "19_1": {
            "space": "마트 전면 외부",
            "plate_key": "space1",
            "plate_png": "bg_space1.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S19_Shot1",
            "basis": "마트 입구에서 자전거를 세우고 안으로 들어가기 전의 전신 샷이라 외부 출입구 앞 공간이 주 배경임.",
            "plate_action": "reuse_base"
          },
          "19_5": {
            "space": "마트 전면 외부",
            "plate_key": "space1",
            "plate_png": "bg_derived_19_5.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S19_Shot5",
            "basis": "건물 벽면의 CCTV 카메라를 올려다보는 샷으로, 외벽 부착 CCTV가 있는 마트 전면 외부가 증거임.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera closer to the supermarket exterior wall and angle it upward toward the fixed CCTV mounted high on the facade. Let the wall surface and the CCTV bracket area dominate the frame from a low, near-wall viewpoint.",
            "canonical_plate_key": "space1",
            "canonical_plate_png": "bg_space1.png"
          },
          "20_2": {
            "space": "총무과/보안 업무실",
            "plate_key": "space3",
            "plate_png": "bg_space3.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S20_Shot2",
            "basis": "모니터 앞 보안직원과 CCTV 화면을 보는 인물들이 등장해 보안 업무실의 책상/모니터 구성이 직접 사용됨.",
            "plate_action": "reuse_base"
          }
        },
        "shot_assign_diagnostics": [
          {
            "reason": "plate_action_no_plate",
            "scene": 20,
            "shot": 4,
            "space": "총무과/보안 업무실",
            "basis": "보안직원 쪽을 보는 혜수의 옆얼굴 클로즈업으로, 장면 맥락상 보안 업무실이지만 공간 배경은 거의 드러나지 않음."
          }
        ],
        "derived_plates": {
          "19_5": {
            "status": "ok",
            "png": "bg_derived_19_5.png",
            "canonical_plate_key": "space1",
            "space": "마트 전면 외부",
            "derive_instruction": "Move the camera closer to the supermarket exterior wall and angle it upward toward the fixed CCTV mounted high on the facade. Let the wall surface and the CCTV bracket area dominate the frame from a low, near-wall viewpoint."
          }
        }
      },
      "bg_police_station": {
        "status": "ok",
        "spaces": [
          "공용 수사 사무실"
        ],
        "validation": {
          "fails": [],
          "warnings": [
            "uncertain: 회의실의 실제 위치와 형태 (팀장이 회의를 부르고 형사들이 나가지만 회의실 자체의 경계·출입구·내부가 이 장소의 촬영 공간으로 묘사되지 않는다.)",
            "uncertain: 사무실의 정확한 창 개수와 외벽 방향 (경찰서 사무실이라는 enclosed 업무 공간상 외기 창은 현실 기본값으로 필요하지만, 원문에 창의 수·크기·위치가 직접 제시되지 않는다.)",
            "uncertain: 형사별 책상 수와 배치 (여러 형사가 근무하고 몰려 나간다는 증거는 있으나 정확한 인원수와 책상 배열은 명시되지 않는다.)",
            "uncertain: 커피 구역이 사무실 내부인지 인접 탕비 공간인지의 정확한 경계 (혜수가 '저 커피'라고 말해 사무실에서 접근 가능한 커피가 있음을 알 수 있으나, 별도 탕비실 경계는 제시되지 않는다. 따라서 사무실 안의 소형 커피 구역으로 최소 반영한다.)"
          ],
          "independent_spaces": 1,
          "separate_space_evidence": 1
        },
        "frame_checks": {},
        "plates": {
          "공용 수사 사무실": {
            "status": "ok",
            "kind": "indoor_t2i",
            "png": "bg_space1.png",
            "key": "space1",
            "num": 1,
            "reference": "single_t2i (FP 미경유 — 단일 실내 공간)",
            "enclosure": "enclosed"
          }
        },
        "connectors": [],
        "descs": {
          "whole": "A practical modern Korean local police office with multiple plain work desks, basic swivel chairs, desktop computers, a shared copier or fax machine, file cabinets, and a small coffee station arranged for several detectives to work at once. The room is built as an ordinary public-institution interior: painted gypsum-board or lightweight partition walls, durable vinyl tile flooring, acoustic ceiling panels with cold fluorescent or LED lighting, and a simple door or passage connecting to the internal corridor. Use a restrained, lived-in coastal-town thriller palette of cool blue-gray, dull green, off-white walls, worn plastic and metal textures, with no decorative luxury and no case-specific photos, marks, symbols, or evidence props.",
          "indoor": "A practical modern Korean local police office, fully enclosed, with painted gypsum-board or lightweight partition walls, commercial vinyl tile flooring, plain file cabinets, rows of durable desks, office chairs, desktop computers, a shared copier, and a small coffee station under cold fluorescent or LED panel lighting. The room is large enough for several detectives to work at once, with a plain entrance from an internal corridor or lobby and only modest functional windows if present, keeping the atmosphere cramped, bureaucratic, gray-blue, and slightly worn rather than stylish."
        },
        "assets_dir": "/Users/manta/Documents/Projects/TheRoad-I1/projects/3bc50b18-6887-4103-b09d-b37f71507cf4/checkpoints/episodes/20347a83-8536-43fe-8586-665409ceb594/space_set_bg/assets/bg_police_station",
        "shot_plate_map": {
          "16_4": {
            "space": "공용 수사 사무실",
            "plate_key": "space1",
            "plate_png": "bg_space1.png",
            "plate_kind": "indoor_t2i",
            "shot_id": "S16_Shot4",
            "basis": "김형사와 대화 중인 혜수의 얼굴 클로즈업으로, 장면 전체가 경찰서 사무실 안 당직 근무 공간에서 진행된다.",
            "plate_action": "reuse_base"
          },
          "21_9": {
            "space": "공용 수사 사무실",
            "plate_key": "space1",
            "plate_png": "bg_space1.png",
            "plate_kind": "indoor_t2i",
            "shot_id": "S21_Shot9",
            "basis": "수리영이 사무실에 홀로 앉아 혜수 책상 위 사진들을 보며 놀라는 장면의 얼굴 샷이다.",
            "plate_action": "reuse_base"
          },
          "21_14": {
            "space": "공용 수사 사무실",
            "plate_key": "space1",
            "plate_png": "bg_space1.png",
            "plate_kind": "indoor_t2i",
            "shot_id": "S21_Shot14",
            "basis": "김형사 모니터의 위치추적 결과를 본 뒤 사무실 안에서 볼펜과 종이를 들고 멈춰 선 수리영의 상체 샷이다.",
            "plate_action": "reuse_base"
          }
        },
        "shot_assign_diagnostics": [
          {
            "reason": "plate_action_no_plate",
            "scene": 16,
            "shot": 3,
            "space": "공용 수사 사무실",
            "basis": "경찰서 사무실 안에서 김형사에게 스마트폰 번호를 보여주는 상황이지만, 샷은 스마트폰 액정과 손목 클로즈업이라 공간 배경 참조가 거의 필요 없다."
          }
        ],
        "derived_plates": {}
      },
      "bg_fishing_boat": {
        "status": "ok",
        "spaces": [
          "개방 갑판",
          "조타실"
        ],
        "validation": {
          "fails": [],
          "warnings": [
            "uncertain: 조타실의 정확한 위치 (소형어선 원경과 '조타실 쪽'이라는 동선은 있으나, 조타실이 선수 쪽인지 중앙/선미 쪽인지 정확한 배치가 명시되지 않는다.)",
            "uncertain: 갑판 위 별도 좌석 또는 벤치 ('갑판에 홀로 앉아있다'는 표현이 있으나 바닥에 앉은 것인지 고정 벤치/상자에 앉은 것인지 불명확하다. 보수 원칙상 고정 좌석을 addon으로 확정하지 않는다.)",
            "uncertain: 어업 장비의 구체 종류와 배치 (소형어선임은 명확하지만 그물, 통발, 어창 해치 등의 구체 장비가 장면에 직접 등장하지 않는다. 배경 현실감 요소로는 가능하나 addon 도면 요소로 확정하지 않는다.)",
            "uncertain: 조타실 내부의 '수많은 원' (장면에서 보이는 시각적 모티프이나 사건/미스터리와 결부된 표식 또는 환각적 요소일 가능성이 높고 초기 세트장 base에 넣으면 안 된다. 단, 그것이 놓일 수 있는 내부 벽면/표면은 frame으로 유지한다.)"
          ],
          "independent_spaces": 2,
          "separate_space_evidence": 2
        },
        "frame_checks": {},
        "plates": {
          "개방 갑판": {
            "status": "ok",
            "kind": "outdoor_t2i",
            "png": "bg_space1.png",
            "key": "space1",
            "num": 1,
            "reference": "single_t2i (FP 미경유)",
            "enclosure": "open_air"
          },
          "조타실": {
            "status": "ok",
            "kind": "indoor_t2i",
            "png": "bg_space2.png",
            "key": "space2",
            "num": 2,
            "reference": "single_t2i (FP 미경유 — 단일 실내 공간)",
            "enclosure": "enclosed"
          }
        },
        "connectors": [],
        "descs": {
          "whole": "A cramped modern Korean small fishing boat set, with an exposed work deck made of worn painted FRP or metal, rough anti-slip flooring, low gunwales, simple railings, and small practical mooring cleats along the edges. The enclosed wheelhouse sits directly off the deck as a faded, salt-worn FRP or metal-framed cabin with plain marine windows, a simple door, waterproof utilitarian finishes, and no luxury fittings. Inside the tiny wheelhouse, a battered steering wheel, throttle, basic gauges, and switches are packed into a narrow control position with only enough standing room for one or two people, lit in cold gray-blue, dull green, and muted yellow tones with a damp, realistic coastal Korean workboat texture.",
          "indoor": "A cramped enclosed wheelhouse on a small modern Korean fishing boat, built from worn FRP or metal framing with salt-faded paint, rough waterproof finishes, cloudy glass windows, and a simple utilitarian door. Inside, a small aged steering wheel, basic throttle, gauges, and switches are packed into a narrow control console, leaving only enough floor space for one or two people to stand close together. The palette is cold gray-blue and dull green, with scuffed surfaces, humid grime, and harsh practical cabin lighting giving it a realistic, weathered coastal workboat feel.",
          "outdoor": "A cramped open work deck on an old small Korean fishing boat, built from worn FRP or painted metal with rough non-slip surfacing, low bulwarks or simple railings, and small practical mooring cleats fixed along the edges. The surfaces feel salt-faded, damp, scratched, and utilitarian, with a cold gray-blue and muted green palette under realistic overcast coastal light. Adjacent to the deck is the exterior of a tiny wheelhouse cabin, made of weathered FRP or metal framing with faded paint, blunt waterproof seams, plain windows, and a simple door, visibly more enclosed but just as low-cost and functional."
        },
        "assets_dir": "/Users/manta/Documents/Projects/TheRoad-I1/projects/3bc50b18-6887-4103-b09d-b37f71507cf4/checkpoints/episodes/20347a83-8536-43fe-8586-665409ceb594/space_set_bg/assets/bg_fishing_boat",
        "shot_plate_map": {
          "28_1": {
            "space": "개방 갑판",
            "plate_key": "space1",
            "plate_png": "bg_derived_28_1.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S28_Shot1",
            "basis": "장면 표기가 ‘바다 + 갑판’이고 낡은 소형어선이 바다 위를 나아가는 외부 원경으로, 목록 중 갑판 외부 공간이 가장 부합한다.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera off the open deck to a distant exterior angle facing the small fishing boat's bow and low gunwale. Frame the vessel broadly against open water so the deck edge and hull silhouette dominate the shot.",
            "canonical_plate_key": "space1",
            "canonical_plate_png": "bg_space1.png"
          },
          "28_8": {
            "space": "개방 갑판",
            "plate_key": "space1",
            "plate_png": "bg_space1.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S28_Shot8",
            "basis": "인우가 갑판 바닥에서 발을 떼고 조타실 쪽으로 달려가는 순간으로, 주 동작의 출발과 카메라가 머무는 주 공간은 갑판이다.",
            "plate_action": "reuse_base",
            "secondary_spaces": [
              "조타실"
            ]
          },
          "29_1": {
            "space": "조타실",
            "plate_key": "space2",
            "plate_png": "bg_space2.png",
            "plate_kind": "indoor_t2i",
            "shot_id": "S29_Shot1",
            "basis": "장면 표기가 조타실이고, 방향타 앞에서 수리영이 인우를 밀어내며 배를 돌리려는 행동을 막는 샷이다.",
            "plate_action": "reuse_base"
          },
          "29_10": {
            "space": "조타실",
            "plate_key": "space2",
            "plate_png": "bg_space2.png",
            "plate_kind": "indoor_t2i",
            "shot_id": "S29_Shot10",
            "basis": "수리영이 인우의 어깨에 쓰러지는 조타실 장면의 연속이며, 인우의 측면을 조타실 내부에서 포착하는 샷이다.",
            "plate_action": "reuse_base"
          }
        },
        "shot_assign_diagnostics": [
          {
            "reason": "plate_action_no_plate",
            "scene": 28,
            "shot": 4,
            "space": "개방 갑판",
            "basis": "수리영과 인우가 갑판에 있는 대화 흐름 중 사진을 시야 앞에 내미는 손 중심 클로즈업이라 공간 배경은 거의 드러나지 않는다."
          },
          {
            "reason": "plate_action_no_plate",
            "scene": 29,
            "shot": 5,
            "space": "조타실",
            "basis": "조타실 안 대화 중 사진 속 얼굴을 손가락으로 짚는 손 클로즈업이라 배경 공간 참조가 사실상 필요 없다."
          }
        ],
        "derived_plates": {
          "28_1": {
            "status": "ok",
            "png": "bg_derived_28_1.png",
            "canonical_plate_key": "space1",
            "space": "개방 갑판",
            "derive_instruction": "Move the camera off the open deck to a distant exterior angle facing the small fishing boat's bow and low gunwale. Frame the vessel broadly against open water so the deck edge and hull silhouette dominate the shot."
          }
        }
      }
    },
    "prompt_version": "4.202606111309"
  },
  "step_id": "space_set_bg",
  "run_id": "9185307b-f953-4206-a95e-e98c06407db7",
  "resolved_model": "gpt",
  "updated_at": "2026-06-17T10:39:16.129463+00:00",
  "project_config_snapshot": {}
}