{
  "status": "completed",
  "applicable_count": 4,
  "completed_count": 4,
  "failed_count": 0,
  "schema_version": 1,
  "config_hash": "5fd2f989362d936a",
  "data": {
    "groups": {
      "bg_rooftop_villa_unit": {
        "status": "ok",
        "spaces": [
          "옥상 외부 생활공간",
          "현관 전이부",
          "거실 겸 주방",
          "큰 침실",
          "작은 침실",
          "욕실"
        ],
        "validation": {
          "fails": [],
          "warnings": [
            "uncertain: 큰 침실과 작은 침실의 정확한 상대 위치 (각 방이 거실과 문으로 연결되는 것은 명확하지만, 좌우 배치나 서로 인접 여부는 텍스트에 명시되지 않는다.)",
            "uncertain: 욕실의 외벽 접면 여부 (욕실 벽과 거울은 명시되지만 창문은 직접 언급되지 않는다. 현대 주거의 외벽 면 욕실이면 소형 환기창 또는 환기구가 현실적이나, 정확한 위치는 불명확하다.)",
            "uncertain: 옥탑방 내부 복도 존재 여부 (방문들이 거실에서 바로 열리는지 짧은 복도를 거치는지 명확하지 않다. 소형 옥탑방 규모상 거실 중심 연결로 처리했다.)",
            "uncertain: 현관 전이부의 독립 규모 (슬러그 하위구분 '/현관'이 있어 촬영 가능한 전이부로 분리했지만, 매우 좁은 신발 벗는 공간일 수 있다.)"
          ],
          "independent_spaces": 6,
          "separate_space_evidence": 6
        },
        "frame_checks": {
          "indoor": {
            "frame_preserved": true,
            "frame_doors_first": 4,
            "frame_doors_second": 4,
            "frame_windows_first": 4,
            "frame_windows_second": 4,
            "rooms_first": 5,
            "rooms_second": 5,
            "changed_frame_elements": [],
            "verdict": "벽·문·창·통로 및 방 구성은 첫째 이미지와 동일하게 보존되었고, 추가된 요소는 가구/설비로 판단된다."
          }
        },
        "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 entrance, with the camera backed against the exterior door so the door itself is not visible, looking into the entire narrow threshold area of the rooftop dwelling. The small shoe-removal step or shoe zone fills the foreground, with old practical flooring, scuffed trim, a worn lock-side doorframe edge, a small switch or entry light, and the short interior passage ahead leading directly into the living-kitchen space."
          }
        ],
        "descs": {
          "whole": "A compact rooftop dwelling in a worn contemporary Korean coastal apartment building, with an aging flat concrete roof, low parapet walls, peeling waterproof paint, drainage stains, a fixed water tank, simple clotheslines, and a low wooden or metal platform set beside a small exposed metal entrance door.  \nInside, the later-added rooftop unit feels cheaply built and slightly mismatched from the main concrete structure, using lightweight block, sandwich panel, or gypsum-board partitions with plain wallpaper, vinyl flooring, low ceilings, a cramped entry step, and a combined living-kitchen area with a small sink, 1–2 burner cooktop, compact dining table, chairs, modest TV, and warm dim floor lamp under yellowish fluorescent light.  \nTwo small bedrooms, one slightly larger and one very compact with a curtain-covered window, sit beside a minimal tiled bathroom with a tiny basin, wall mirror, toilet, waterproof floor, and drain, all in low-saturation blue-gray and stale beige tones with humid, aged surfaces and practical everyday clutter but no symbolic marks or incident traces.",
          "indoor": "A compact rooftop dwelling interior in a worn contemporary Korean coastal city style, built as a low-cost later addition with thin partition walls, lightweight panels, simple wallpaper, vinyl flooring, low ceilings, and mismatched aging finishes. The cramped entry threshold has a plain metal door, basic frame, and tiny shoe area, leading into a combined living-kitchen space with a modest wall sink, small cooking burner, compact dining table and chairs, a small TV, and a dim floor lamp under yellowish fluorescent light. Two small bedrooms with simple beds, a curtain-covered window, and cheap partition finishes sit beside a minimal tiled or waterproof-panel bathroom with a small sink, mirror, toilet, floor drain, and practical damp surfaces in muted blue-gray and faded beige tones.",
          "outdoor": "A small rooftop living area on an old low-rise Korean multifamily building, with weathered waterproof concrete, low parapet walls, peeling paint, drain stains, and a practical, damp coastal-gray color palette under muted outdoor light. A later-added rooftop dwelling stands beside it with visibly cheaper lightweight walls and rough finishes, including a worn metal entrance door, simple doorframe, small exterior windows and vents, while the original roof slab feels heavier and older. The rooftop has only modest usable space, fitted with a fixed plastic water tank, tied laundry lines on metal posts, and a low broad wooden or metal platform, all worn, utilitarian, and slightly mismatched."
        },
        "assets_dir": "/Users/manta/Documents/Projects/TheRoad-I1/projects/7bea6537-cad7-4739-ae13-17ce36cb1956/checkpoints/episodes/bee89290-7f23-4d24-ab0e-8ed506d0502c/space_set_bg/assets/bg_rooftop_villa_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_6": {
            "space": "옥상 외부 생활공간",
            "plate_key": "space1",
            "plate_png": "bg_derived_10_6.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S10_Shot6",
            "basis": "창문 위로 보이는 그림자 실루엣을 외부에서 보는 구도이며 옥상 바깥에서 창을 바라본다.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera outside to face the lit window from the rooftop exterior. Frame the window surface closely enough that the reflected or projected silhouettes dominate the shot.",
            "canonical_plate_key": "space1",
            "canonical_plate_png": "bg_space1.png"
          },
          "11_4": {
            "space": "옥상 외부 생활공간",
            "plate_key": "space1",
            "plate_png": "bg_space1.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S11_Shot4",
            "basis": "옥상에 올라와 반쯤 열린 현관 철문을 바라보는 얼굴로, 주 카메라는 옥상 외부에 머문다.",
            "plate_action": "reuse_base",
            "secondary_spaces": [
              "현관 전이부"
            ]
          },
          "12_8": {
            "space": "작은 침실",
            "plate_key": "space4",
            "plate_png": "bg_derived_12_8.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S12_Shot8",
            "basis": "수리영 방 커튼 뒤에 앉아있는 시신을 정면으로 보는 장면이다.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera inside the small bedroom toward the curtain area. Frame the space immediately behind the curtain from the front so the curtain-side wall and floor area dominate.",
            "canonical_plate_key": "space4",
            "canonical_plate_png": "bg_space4.png"
          },
          "12_16": {
            "space": "작은 침실",
            "plate_key": "space4",
            "plate_png": "bg_derived_12_16.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S12_Shot16",
            "basis": "침대 위 벽면의 붉은 원 표식이 보이는 정지 구도이며 작은 침실의 침대 벽면이다.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera close to the wall above the bed in the small bedroom. Frame the bed edge only as a spatial anchor while the wall surface fills the composition.",
            "canonical_plate_key": "space4",
            "canonical_plate_png": "bg_space4.png"
          },
          "14_4": {
            "space": "작은 침실",
            "plate_key": "space4",
            "plate_png": "bg_space4.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S14_Shot4",
            "basis": "수리영 방 안이 깨끗하게 정돈된 내부 정경으로 명시된다.",
            "plate_action": "reuse_base"
          },
          "14_5": {
            "space": "작은 침실",
            "plate_key": "space4",
            "plate_png": "bg_space4.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S14_Shot5",
            "basis": "깨끗해진 수리영 방을 보고 얼굴이 파리해지는 수리영의 상반신이다.",
            "plate_action": "reuse_base"
          },
          "14_12": {
            "space": "작은 침실",
            "plate_key": "space4",
            "plate_png": "bg_derived_14_12.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S14_Shot12",
            "basis": "수리영 방 한구석 바닥에 놓인 백팩과 인형을 보는 정지 구도다.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Lower the camera toward a corner of the small bedroom floor. Frame the floor corner and adjacent wall area so the misplaced items' area would occupy the center of the composition.",
            "canonical_plate_key": "space4",
            "canonical_plate_png": "bg_space4.png"
          },
          "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": "Place the camera low on the rooftop exterior, angled up toward the lit rooftop-room window. Keep the exterior wall and window as the dominant background elements.",
            "canonical_plate_key": "space1",
            "canonical_plate_png": "bg_space1.png"
          },
          "18_10": {
            "space": "욕실",
            "plate_key": "space5",
            "plate_png": "bg_derived_18_10.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S18_Shot10",
            "basis": "거울 속 반영으로 등 뒤 욕실 벽면의 붉은 원을 보는 클로즈업이다.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera tight to the bathroom mirror and align it to capture the reflected rear wall. Let the mirror surface and the reflected wall fill the frame.",
            "canonical_plate_key": "space5",
            "canonical_plate_png": "bg_space5.png"
          },
          "25_4": {
            "space": "작은 침실",
            "plate_key": "space4",
            "plate_png": "bg_derived_25_4.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S25_Shot4",
            "basis": "반쯤 열린 수리영 방문 너머 작은 침실 벽면의 붉은 원을 보는 구도다.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera to the doorway of the small bedroom and look inward through the partially open door. Frame the doorway edges with the far bedroom wall visible beyond them.",
            "canonical_plate_key": "space4",
            "canonical_plate_png": "bg_space4.png",
            "secondary_spaces": [
              "거실 겸 주방"
            ]
          },
          "25_8": {
            "space": "작은 침실",
            "plate_key": "space4",
            "plate_png": "bg_space4.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S25_Shot8",
            "basis": "사진을 본 뒤 침대에 주저앉는 흐름의 측면 얼굴로, 수리영 방 안 상황이다.",
            "plate_action": "reuse_base"
          },
          "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_5": {
            "space": "거실 겸 주방",
            "plate_key": "space2",
            "plate_png": "bg_space2.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S27_Shot5",
            "basis": "바람에 반쯤 열린 현관 철문이 보이지만 ‘황량한 거실 정지 구도’로 명시되어 거실이 주 공간이다.",
            "plate_action": "reuse_base",
            "secondary_spaces": [
              "현관 전이부"
            ]
          }
        },
        "shot_assign_diagnostics": [
          {
            "reason": "connector_no_plate",
            "scene": 5,
            "shot": 11,
            "space": "현관 전이부"
          },
          {
            "reason": "plate_action_no_plate",
            "scene": 5,
            "shot": 12,
            "space": "현관 전이부",
            "basis": "현관에서 엄마 손목의 작은 표식을 보는 클로즈업으로, 공간 배경은 사실상 보이지 않는다."
          },
          {
            "reason": "connector_no_plate",
            "scene": 10,
            "shot": 4,
            "space": "현관 전이부"
          },
          {
            "reason": "unassigned",
            "scene": 11,
            "shot": 2,
            "basis": "다세대 빌라 마당과 계단은 제공된 공간 목록에 없다."
          },
          {
            "reason": "plate_action_no_plate",
            "scene": 12,
            "shot": 13,
            "space": "작은 침실",
            "basis": "시신의 손 안 사진 클로즈업으로, 배경 공간 참조가 거의 없다."
          },
          {
            "reason": "unassigned",
            "scene": 13,
            "shot": 2,
            "basis": "계단 아래 다세대 빌라 마당과 경찰차는 제공된 공간 목록에 없다."
          },
          {
            "reason": "unassigned",
            "scene": 13,
            "shot": 5,
            "basis": "혜수를 올려다보는 수리영은 옥탑방 외곽/마당 쪽 상황이나 목록 공간으로 특정할 증거가 부족하다."
          },
          {
            "reason": "plate_action_no_plate",
            "scene": 18,
            "shot": 14,
            "space": "거실 겸 주방",
            "basis": "식탁 위 사진 클로즈업이며 식탁은 거실 겸 주방에 있지만 배경 공간은 거의 보이지 않는다."
          }
        ],
        "derived_plates": {
          "10_6": {
            "status": "ok",
            "png": "bg_derived_10_6.png",
            "canonical_plate_key": "space1",
            "space": "옥상 외부 생활공간",
            "derive_instruction": "Move the camera outside to face the lit window from the rooftop exterior. Frame the window surface closely enough that the reflected or projected silhouettes dominate the shot."
          },
          "12_8": {
            "status": "ok",
            "png": "bg_derived_12_8.png",
            "canonical_plate_key": "space4",
            "space": "작은 침실",
            "derive_instruction": "Move the camera inside the small bedroom toward the curtain area. Frame the space immediately behind the curtain from the front so the curtain-side wall and floor area dominate."
          },
          "12_16": {
            "status": "ok",
            "png": "bg_derived_12_16.png",
            "canonical_plate_key": "space4",
            "space": "작은 침실",
            "derive_instruction": "Move the camera close to the wall above the bed in the small bedroom. Frame the bed edge only as a spatial anchor while the wall surface fills the composition."
          },
          "14_12": {
            "status": "ok",
            "png": "bg_derived_14_12.png",
            "canonical_plate_key": "space4",
            "space": "작은 침실",
            "derive_instruction": "Lower the camera toward a corner of the small bedroom floor. Frame the floor corner and adjacent wall area so the misplaced items' area would occupy the center of the composition."
          },
          "17_1": {
            "status": "ok",
            "png": "bg_derived_17_1.png",
            "canonical_plate_key": "space1",
            "space": "옥상 외부 생활공간",
            "derive_instruction": "Place the camera low on the rooftop exterior, angled up toward the lit rooftop-room window. Keep the exterior wall and window as the dominant background elements."
          },
          "18_10": {
            "status": "ok",
            "png": "bg_derived_18_10.png",
            "canonical_plate_key": "space5",
            "space": "욕실",
            "derive_instruction": "Move the camera tight to the bathroom mirror and align it to capture the reflected rear wall. Let the mirror surface and the reflected wall fill the frame."
          },
          "25_4": {
            "status": "ok",
            "png": "bg_derived_25_4.png",
            "canonical_plate_key": "space4",
            "space": "작은 침실",
            "derive_instruction": "Move the camera to the doorway of the small bedroom and look inward through the partially open door. Frame the doorway edges with the far bedroom wall visible beyond them."
          }
        }
      },
      "bg_large_mart": {
        "status": "ok",
        "spaces": [
          "마트 외부 전면부",
          "판매장",
          "총무/보안 업무실"
        ],
        "validation": {
          "fails": [],
          "warnings": [
            "uncertain: 마트 외부 전면부의 캐노피 유무 (대형 마트 출입구에는 캐노피가 흔하지만, 원문에 지붕·차양 언급은 없다. open_air 전면부 정체성을 해치지 않도록 영구 frame으로 확정하지 않는다.)",
            "uncertain: 총무과가 판매장과 직접 연결되는지, 별도 후방 복도를 거치는지 (S#20의 총무과가 같은 마트 내부 업무실임은 분명하지만, 판매장에서 곧바로 문 하나로 연결되는지 후방 복도를 경유하는지는 명시되지 않는다. access path는 '판매장 또는 직원 후방구역'으로 보수적으로 표현한다.)",
            "uncertain: 판매장 내부 세부 부서 구획 (대형 마트 안을 여기저기 돌아다니고 진열 직원이 있다는 증거는 있으나 식품/생활용품/계산대 위치 등 구체 구획은 명시되지 않는다.)",
            "uncertain: 총무/보안 업무실 외부창 (상업시설 외벽에 면한 업무실이면 창이 있을 수 있지만, shot에서 '어두운 보안실 안'으로 묘사되어 무창 내부실 가능성이 높다. 외기 개구부 baseline을 적용하기에는 외벽 접면 증거가 부족하고 보안실 성격상 창을 넣지 않는다.)"
          ],
          "independent_spaces": 3,
          "separate_space_evidence": 3
        },
        "frame_checks": {
          "indoor": {
            "frame_preserved": true,
            "frame_doors_first": 3,
            "frame_doors_second": 3,
            "frame_windows_first": 4,
            "frame_windows_second": 4,
            "rooms_first": 3,
            "rooms_second": 3,
            "changed_frame_elements": [],
            "verdict": "가구와 매대가 추가되었지만 벽·문·창·통로 구성은 첫째 이미지와 동일하게 보존됨"
          }
        },
        "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 modest modern Korean big-box grocery store sits in a worn coastal commercial district, with a low-rise facade, glass entrance doors, blank light-box sign frames, concrete or paving-block frontage, simple bicycle racks, and ordinary exterior CCTV cameras mounted above the entry. Inside, the sales floor is wide and practical, with long metal shelving rows, broad tiled or epoxy aisles for staff carts and boxes, checkout counters, bright fluorescent or LED ceiling lines, and a muted blue-gray, slightly humid urban color tone. Behind the retail floor is a small partition-built administration and security office with gypsum-board walls, vinyl or commercial tile flooring, dimmer overhead light, plain office desks, chairs, CCTV monitors, and DVR or computer equipment arranged for several people to view the screens.",
          "indoor": "A contemporary Korean big-box supermarket interior with a broad open sales floor, long rows of plain metal shelving, wide cleanable tile or epoxy aisles, checkout counters, glass-front entry glazing, and cool white fluorescent/LED ceiling lines, colored in muted coastal blue-gray and worn commercial neutrals rather than glossy luxury finishes. Behind the sales area is a small partitioned administration and security office built from practical gypsum-board or lightweight commercial walls, with vinyl or tile flooring, a simple desk, CCTV monitors, recorder equipment, office chairs, and dimmer yellowish task lighting for screen viewing. The overall set should feel like a slightly aged, everyday 21st-century Korean retail space: functional, humid, low-saturation, and realistic, with no decorative fantasy elements or event-specific marks.",
          "outdoor": "A realistic exterior frontage of a large low-rise supermarket in a worn modern Korean coastal commercial district, with a plain concrete-and-panel facade, wide glass entrance doors, muted light-box sign frames without readable text, and a practical paved forecourt of concrete and sidewalk blocks. A standard fixed CCTV camera is mounted high near the entrance, with modest metal bicycle racks and simple parking markings along the wall, all lit by cool blue-gray evening haze mixed with dull yellow storefront lighting and nearby unfocused neon glow. Through the front glazing, only the outer face of the adjacent retail hall and a partitioned back-office mass are suggested as modern commercial volumes, contrasting bright open sales-floor glass with more opaque utilitarian interior wall sections."
        },
        "assets_dir": "/Users/manta/Documents/Projects/TheRoad-I1/projects/7bea6537-cad7-4739-ae13-17ce36cb1956/checkpoints/episodes/bee89290-7f23-4d24-ab0e-8ed506d0502c/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"
          },
          "19_7": {
            "space": "마트 외부 전면부",
            "plate_key": "space1",
            "plate_png": "bg_space1.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S19_Shot7",
            "basis": "장면요약의 '/ 마트 밖'에서 CCTV 위치를 확인하는 대목이며, 외부 전면부 addon에 출입구 주변 외부 CCTV가 명시되어 있다.",
            "plate_action": "reuse_base"
          },
          "19_8": {
            "space": "마트 외부 전면부",
            "plate_key": "space1",
            "plate_png": "bg_space1.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S19_Shot8",
            "basis": "CCTV 위치 확인 후 혜수에게 전화해 상황을 설명하는 '/ 마트 밖' 대목에 해당한다.",
            "plate_action": "reuse_base"
          },
          "20_1": {
            "space": "총무/보안 업무실",
            "plate_key": "space3",
            "plate_png": "bg_space3.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S20_Shot1",
            "basis": "어두운 보안실 안에서 책상 위 CCTV 모니터를 응시하는 보안직원과 혜수가 등장해 총무/보안 업무실의 책상·모니터 설비와 일치한다.",
            "plate_action": "reuse_base"
          },
          "20_3": {
            "space": "총무/보안 업무실",
            "plate_key": "space3",
            "plate_png": "bg_derived_20_3.png",
            "plate_kind": "marked_indoor",
            "shot_id": "S20_Shot3",
            "basis": "CCTV 확인용 모니터 자체의 저해상도 화면 클로즈업이므로 총무/보안 업무실의 모니터를 매우 가까이 보는 샷이다.",
            "plate_action": "derive_from_base",
            "derive_instruction": "Move the camera from the security office wide setup toward the desk-mounted CCTV monitor until the monitor screen fills the frame. Frame only the monitor face closely, using the existing desk and monitor position as the reference.",
            "canonical_plate_key": "space3",
            "canonical_plate_png": "bg_space3.png"
          }
        },
        "shot_assign_diagnostics": [
          {
            "reason": "plate_action_no_plate",
            "scene": 8,
            "shot": 5,
            "space": "판매장",
            "basis": "직원과 대화 중 의아해하는 수리영의 얼굴 클로즈업으로 보이며, 공간 배경은 거의 드러나지 않지만 앞뒤 맥락상 판매장 장면이다."
          }
        ],
        "derived_plates": {
          "20_3": {
            "status": "ok",
            "png": "bg_derived_20_3.png",
            "canonical_plate_key": "space3",
            "space": "총무/보안 업무실",
            "derive_instruction": "Move the camera from the security office wide setup toward the desk-mounted CCTV monitor until the monitor screen fills the frame. Frame only the monitor face closely, using the existing desk and monitor position as the reference."
          }
        }
      },
      "bg_police_station": {
        "status": "ok",
        "spaces": [
          "형사팀 사무실",
          "경찰서 건물 전면 외부"
        ],
        "validation": {
          "fails": [],
          "warnings": [
            "uncertain: 회의실 (팀장이 회의를 부르고 형사들이 몰려 나가지만, 분석 대상 샷이 촬영하는 배경은 사무실이며 회의실의 경계·출입·내부가 직접 등장하지 않는다.)",
            "uncertain: 경찰서 내부 복도 (사무실 접근 경로로는 필요하지만 별도 촬영 공간으로 묘사되지 않았고, 하위 슬러그라인으로 분리되지 않았다. 따라서 access path 설명에만 포함하고 별도 space로 만들지 않는다.)",
            "uncertain: 민원실 또는 접수 공간 (실종신고서와 통화의뢰서 사인 업무가 있으나, 그것이 별도 민원실에서 이루어진다는 증거가 없고 형사 사무실 안 대화로 처리된다.)",
            "uncertain: 자전거 거치대 (자전거가 주차되어 있다는 사실은 있으나 거치대 자체가 직접 언급되지는 않는다. life_baseline에는 현실적 배경 가능 요소로만 둔다.)"
          ],
          "independent_spaces": 2,
          "separate_space_evidence": 2
        },
        "frame_checks": {},
        "plates": {
          "형사팀 사무실": {
            "status": "ok",
            "kind": "indoor_t2i",
            "png": "bg_space1.png",
            "key": "space1",
            "num": 1,
            "reference": "single_t2i (FP 미경유 — 단일 실내 공간)",
            "enclosure": "enclosed"
          },
          "경찰서 건물 전면 외부": {
            "status": "ok",
            "kind": "outdoor_t2i",
            "png": "bg_space2.png",
            "key": "space2",
            "num": 2,
            "reference": "single_t2i (FP 미경유)",
            "enclosure": "open_air"
          }
        },
        "connectors": [],
        "descs": {
          "whole": "A practical modern Korean local police station setting: inside, an open detective team office sits within a reinforced-concrete public building, with painted walls, lightweight partitions, vinyl or office-tile flooring, rows of government-style desks, office chairs, paperwork, desktop monitors, keyboards, and plain exterior windows under yellowish fluorescent lighting. Outside the front entrance, the same modest concrete or masonry public building faces a paved asphalt-and-concrete forecourt used for walking, parking, and quick bicycle departure, with no decorative luxury or temporary structures. The overall palette is low-saturation coastal gray, worn beige, and dull institutional green, with damp realistic textures and the uneasy quiet of a contemporary provincial Korean port-city facility.",
          "indoor": "A practical detective team office inside a modern Korean local police station, built within a plain reinforced-concrete government building with painted walls, lightweight partitions, vinyl or office-tile flooring, and no decorative luxury. Multiple utilitarian desks, rolling office chairs, desktop computers, monitors, keyboards, stacks of forms, file trays, and modest storage cabinets are arranged in an open or semi-open layout with enough aisle space for several officers to move through. The mood is worn and procedural, lit by yellowish fluorescent ceiling lights with muted gray-beige walls, scuffed surfaces, and a few simple exterior-facing windows for basic daylight and ventilation.",
          "outdoor": "A modest contemporary Korean local police station exterior, built in plain reinforced concrete or masonry with painted concrete finishes, faces a practical paved forecourt shared by pedestrians, parked vehicles, and bicycles. The mood is a worn coastal-city public facility in low-saturation blue-gray haze and dull yellow fluorescent spill from the entrance, with utilitarian doors, simple windows, asphalt or concrete paving, and no decorative luxury. Along the same main building, the outer wall of the detective team office is visible as a regular government-office facade with modest exterior windows set into the original concrete structure, not a temporary or added-on volume."
        },
        "assets_dir": "/Users/manta/Documents/Projects/TheRoad-I1/projects/7bea6537-cad7-4739-ae13-17ce36cb1956/checkpoints/episodes/bee89290-7f23-4d24-ab0e-8ed506d0502c/space_set_bg/assets/bg_police_station",
        "shot_plate_map": {
          "21_8": {
            "space": "형사팀 사무실",
            "plate_key": "space1",
            "plate_png": "bg_space1.png",
            "plate_kind": "indoor_t2i",
            "shot_id": "S21_Shot8",
            "basis": "김형사 모니터의 위치추적 결과를 사무실 안에서 응시하는 수리영의 정면 샷으로, 형사팀 사무실의 책상·모니터 배경 설정과 일치한다.",
            "plate_action": "reuse_base"
          },
          "22_1": {
            "space": "경찰서 건물 전면 외부",
            "plate_key": "space2",
            "plate_png": "bg_space2.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S22_Shot1",
            "basis": "경찰서 건물 앞에서 자전거에 올라탄 수리영의 전신을 보여주는 외부 샷이다.",
            "plate_action": "reuse_base"
          }
        },
        "shot_assign_diagnostics": [
          {
            "reason": "plate_action_no_plate",
            "scene": 16,
            "shot": 3,
            "space": "형사팀 사무실",
            "basis": "사무실 안에서 혜수가 김형사에게 핸드폰 화면을 들이민 순간이지만, 손과 휴대폰 액정이 주 피사체인 클로즈업이라 공간 배경 참조가 거의 필요 없다."
          },
          {
            "reason": "plate_action_no_plate",
            "scene": 16,
            "shot": 4,
            "space": "형사팀 사무실",
            "basis": "사무실 대화 중 혜수의 얼굴 클로즈업으로, 배경 공간보다 얼굴 표정이 화면을 차지한다."
          },
          {
            "reason": "plate_action_no_plate",
            "scene": 21,
            "shot": 5,
            "space": "형사팀 사무실",
            "basis": "사무실에 홀로 남은 수리영이 책상 위 사진을 보고 사색이 되는 장면이나, 샷 묘사는 얼굴 중심 클로즈업이다."
          },
          {
            "reason": "plate_action_no_plate",
            "scene": 21,
            "shot": 10,
            "space": "형사팀 사무실",
            "basis": "좌표를 메모한 종이쪽지를 주머니에 넣는 손 디테일 샷으로, 공간 배경이 사실상 드러나지 않는다."
          }
        ],
        "derived_plates": {}
      },
      "bg_small_fishing_boat": {
        "status": "ok",
        "spaces": [
          "포구 갯바위와 접안 가장자리",
          "소형어선 갑판",
          "조타실",
          "바다와 안개 띠"
        ],
        "validation": {
          "fails": [],
          "warnings": [
            "uncertain: 포구의 구체적 선착장 형태 (접안과 닷줄 고정은 명시되지만 방파제, 부두, 계단식 선착장, 부잔교 중 어떤 형태인지는 특정되지 않는다.)",
            "uncertain: 소형어선의 갑판 배치 (갑판과 조타실은 분리되어 등장하지만 조타실이 선미/중앙/선수 쪽 어디에 있는지는 텍스트에 명시되지 않는다.)",
            "uncertain: 조타실 내부의 '수많은 원' (조타실 안에 원형 요소가 많다고 되어 있으나, 그 일부는 사건/상징과 결부된 시각 표식일 수 있어 초기 세트의 영구 표식으로 확정할 수 없다. 원형 계기나 핸들 등 기능적 형태 가능성만 남긴다.)"
          ],
          "independent_spaces": 4,
          "separate_space_evidence": 4
        },
        "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": "outdoor_t2i",
            "png": "bg_space2.png",
            "key": "space2",
            "num": 2,
            "reference": "single_t2i (FP 미경유)",
            "enclosure": "open_air"
          },
          "조타실": {
            "status": "ok",
            "kind": "indoor_t2i",
            "png": "bg_space3.png",
            "key": "space3",
            "num": 3,
            "reference": "single_t2i (FP 미경유 — 단일 실내 공간)",
            "enclosure": "enclosed"
          },
          "바다와 안개 띠": {
            "status": "ok",
            "kind": "outdoor_t2i",
            "png": "bg_space4.png",
            "key": "space4",
            "num": 4,
            "reference": "single_t2i (FP 미경유)",
            "enclosure": "open_air"
          }
        },
        "connectors": [],
        "descs": {
          "whole": "A small, workaday fishing harbor in a modern Korean coastal city, with natural wet rocks meeting a rough concrete mooring edge, all stained by salt, rain, and years of practical use under cold blue-gray sea fog. Beside it sits a low, narrow small fishing boat with a painted steel or fiberglass hull, a non-slip open deck, thick working surfaces, and a simple built-in bench-like ledge rather than any comfortable furniture. Its cramped wheelhouse is a lightweight marine cabin with many weathered windows, a direct deck door, a compact steering console, small navigation equipment, and a hard minimal seat, lit in a muted yellow-gray tone against the dim, misty water.",
          "indoor": "A cramped wheelhouse inside a small modern Korean fishing boat, built as a practical enclosed cabin of painted metal or marine FRP with aluminum window frames, many salt-worn glass panes, and a narrow dedicated door. The interior is purely functional: a fixed steering wheel, control levers, a shallow instrument console, and a small hard skipper’s seat or folding marine seat squeezed into the tight space. Use a cold blue-gray coastal palette mixed with aged off-white paint, damp scuffed surfaces, dull metal fittings, and weak yellowish cabin lighting, avoiding any luxury yacht finish.",
          "outdoor": "A foggy, low-saturation modern Korean harbor edge combines dark natural shoreline rocks with an old, rain-wet concrete mooring lip built for small working boats, all rough, utilitarian, and weather-stained rather than decorative. A small fishing boat sits alongside, with a narrow non-slip painted steel or fiberglass deck, a simple low built-in work bench, ropes and practical marine fittings, and a cramped wheelhouse exterior made of white painted FRP or metal framing with many rain-speckled windows and a direct deck door. Beyond the deck and rocks, cold blue-gray seawater fades into a thick band of evening mist, lit by dim overcast coastal light and muted harbor tones."
        },
        "assets_dir": "/Users/manta/Documents/Projects/TheRoad-I1/projects/7bea6537-cad7-4739-ae13-17ce36cb1956/checkpoints/episodes/bee89290-7f23-4d24-ab0e-8ed506d0502c/space_set_bg/assets/bg_small_fishing_boat",
        "shot_plate_map": {
          "26_2": {
            "space": "포구 갯바위와 접안 가장자리",
            "plate_key": "space1",
            "plate_png": "bg_space1.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S26_Shot2",
            "basis": "어두운 갯바위 위에 앉아 안개 낀 바다를 응시하는 실루엣으로, 주 위치는 갯바위이다.",
            "plate_action": "reuse_base",
            "secondary_spaces": [
              "바다와 안개 띠"
            ]
          },
          "26_8": {
            "space": "포구 갯바위와 접안 가장자리",
            "plate_key": "space1",
            "plate_png": "bg_space1.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S26_Shot8",
            "basis": "배에서 내린 인우와 접안 가장자리에서 대화하는 흐름 중 수리영이 인우를 올려다보는 상반신이다.",
            "plate_action": "reuse_base"
          },
          "26_12": {
            "space": "포구 갯바위와 접안 가장자리",
            "plate_key": "space1",
            "plate_png": "bg_space1.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S26_Shot12",
            "basis": "떠나기 전 포구에서 바다 너머를 바라보는 수리영 얼굴 클로즈업으로, 주 촬영 위치는 포구 가장자리로 판단된다.",
            "plate_action": "reuse_base",
            "secondary_spaces": [
              "바다와 안개 띠"
            ]
          },
          "28_5": {
            "space": "소형어선 갑판",
            "plate_key": "space2",
            "plate_png": "bg_space2.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S28_Shot5",
            "basis": "사진을 본 인우의 반응으로, 장면 요약상 수리영이 갑판에 앉아 지도와 사진을 내미는 대화가 진행 중이다.",
            "plate_action": "reuse_base"
          },
          "28_9": {
            "space": "조타실",
            "plate_key": "space3",
            "plate_png": "bg_space3.png",
            "plate_kind": "indoor_t2i",
            "shot_id": "S28_Shot9",
            "basis": "인우가 조타실로 달려가 뱃머리를 돌리려 하자 수리영이 따라 들어가 제지하는 순간이다.",
            "plate_action": "reuse_base"
          },
          "29_9": {
            "space": "조타실",
            "plate_key": "space3",
            "plate_png": "bg_space3.png",
            "plate_kind": "indoor_t2i",
            "shot_id": "S29_Shot9",
            "basis": "수리영이 인우의 어깨에 쓰러지는 상반신 측면으로, 조타실 안에서 이어지는 대치 장면이다.",
            "plate_action": "reuse_base"
          },
          "30_3": {
            "space": "바다와 안개 띠",
            "plate_key": "space4",
            "plate_png": "bg_space4.png",
            "plate_kind": "outdoor_t2i",
            "shot_id": "S30_Shot3",
            "basis": "어선의 앞머리가 짙은 안개 속으로 들어가는 바다 위 실루엣으로, 주 배경은 바다와 안개 띠이다.",
            "plate_action": "reuse_base"
          }
        },
        "shot_assign_diagnostics": [
          {
            "reason": "plate_action_no_plate",
            "scene": 29,
            "shot": 4,
            "space": "조타실",
            "basis": "장면은 조타실이지만 손가락이 사진 속 아이 얼굴을 누르는 극근접 찰나라 공간 배경 참조가 사실상 부적합하다."
          }
        ],
        "derived_plates": {}
      }
    },
    "prompt_version": "4.202606111309"
  },
  "step_id": "space_set_bg",
  "run_id": "7ddd263d-e05a-447b-a022-b0d31315f62a",
  "resolved_model": "gpt",
  "updated_at": "2026-06-19T05:21:09.540438+00:00",
  "project_config_snapshot": {}
}