{
  "anchor_clusters": [
    {
      "id": "cluster_site_map",
      "visual_domain": "site_map",
      "anchor_plan_id": "neighborhood_site_map_anchor",
      "purpose": "Provides a bird's-eye view of the dense suburban neighborhood and the specific multi-family building with the rooftop room."
    },
    {
      "id": "cluster_interior",
      "visual_domain": "interior",
      "anchor_plan_id": "rooftop_interior_anchor",
      "purpose": "Establishes the complete floor plan of the rooftop apartment, including the living room, kitchen, small bedroom, master bedroom, and bathroom."
    },
    {
      "id": "cluster_exterior",
      "visual_domain": "exterior",
      "anchor_plan_id": "rooftop_exterior_anchor",
      "purpose": "Maps the outdoor rooftop terrace, the heavy iron door, the exterior staircase, and the ground-level yard."
    }
  ],
  "base_plans": [
    {
      "id": "neighborhood_site_map_anchor",
      "label": "다세대 빌라 밀집 지역 배치도 · Neighborhood Site Map",
      "visual_domain": "site_map",
      "anchor_cluster_id": "cluster_site_map",
      "is_anchor": true,
      "canon_refs": [
        "environment_canon.shared_furniture_styles"
      ],
      "t2i_prompt": "Modest, outdated wooden dining chairs, simple wooden dining table, basic functional shelving. Black-and-white architectural plan, top-down orthographic view, technical line drawing on white background. Site map of a dense urban neighborhood with low-rise multi-family buildings. The central building features a small rooftop structure. Roofs = simple geometric outlines, alleys = narrow pathways between buildings. Bilingual labels (Korean / English). Compass rose (N) at corner, scale bar (0-10m) at corner. No 3D perspective, strictly 2D plan view. No human figures. White background, no shading.",
      "legend": [
        {
          "symbol": "Solid Outline",
          "meaning": "Building Footprint · 건물 윤곽"
        },
        {
          "symbol": "Hatched Area",
          "meaning": "Rooftop Structure · 옥탑 구조물"
        }
      ],
      "elements_meta": [
        {
          "id": "central_villa",
          "kind": "wall",
          "label": "다세대 빌라 · Multi-family Villa",
          "position_hint": "Center of the map",
          "note": "Main building"
        },
        {
          "id": "rooftop_room_ext",
          "kind": "wall",
          "label": "옥탑방 · Rooftop Room",
          "position_hint": "Top of the central villa",
          "note": "Target location"
        },
        {
          "id": "alleyway",
          "kind": "fixture",
          "label": "골목길 · Alleyway",
          "position_hint": "Between buildings",
          "note": "Narrow paths"
        }
      ],
      "annotations": [
        {
          "text": "Dense urban layout",
          "placement": "Top left corner"
        }
      ]
    },
    {
      "id": "rooftop_interior_anchor",
      "label": "옥탑방 전체 평면도 · Rooftop Apartment Floor Plan",
      "visual_domain": "interior",
      "anchor_cluster_id": "cluster_interior",
      "is_anchor": true,
      "canon_refs": [
        "environment_canon.shared_furniture_styles"
      ],
      "t2i_prompt": "Modest, outdated wooden dining chairs, simple wooden dining table, basic functional shelving. Black-and-white architectural plan, top-down orthographic view, technical line drawing on white background. Full floor plan of a small rooftop apartment. Walls = solid black lines, doors = swing arcs, windows = double parallel lines. Includes a living room with a kitchen corner (sink, stove), a small bedroom with a single bed and desk, a master bedroom with a double bed, and a small bathroom. Furniture = labeled simple geometric outlines. Bilingual labels (Korean / English). Compass rose (N) at corner, scale bar (0-5m) at corner. No 3D perspective, strictly 2D plan view. No human figures. White background, no shading.",
      "legend": [
        {
          "symbol": "Solid Black Line",
          "meaning": "Wall · 벽"
        },
        {
          "symbol": "Swing Arc",
          "meaning": "Door · 문"
        },
        {
          "symbol": "Double Parallel Lines",
          "meaning": "Window · 창문"
        }
      ],
      "elements_meta": [
        {
          "id": "living_room",
          "kind": "wall",
          "label": "거실 및 주방 · Living Room & Kitchen",
          "position_hint": "Center and entrance area",
          "note": "Main living space"
        },
        {
          "id": "dining_table",
          "kind": "furniture",
          "label": "식탁 · Dining Table",
          "position_hint": "Center of living room",
          "note": "Wooden table with chairs"
        },
        {
          "id": "kitchen_sink",
          "kind": "fixture",
          "label": "싱크대 · Kitchen Sink",
          "position_hint": "Corner of living room",
          "note": "Next to stove"
        },
        {
          "id": "small_bedroom",
          "kind": "wall",
          "label": "작은방 · Small Bedroom",
          "position_hint": "Adjacent to living room",
          "note": "Student room"
        },
        {
          "id": "single_bed",
          "kind": "furniture",
          "label": "1인용 침대 · Single Bed",
          "position_hint": "Against wall in small bedroom",
          "note": "Simple bedding"
        },
        {
          "id": "master_bedroom",
          "kind": "wall",
          "label": "안방 · Master Bedroom",
          "position_hint": "Adjacent to living room",
          "note": "Main bedroom"
        },
        {
          "id": "double_bed",
          "kind": "furniture",
          "label": "2인용 침대 · Double Bed",
          "position_hint": "Center of master bedroom",
          "note": "Large bed"
        },
        {
          "id": "bathroom",
          "kind": "wall",
          "label": "욕실 · Bathroom",
          "position_hint": "Off the living room",
          "note": "Small washroom"
        }
      ],
      "annotations": [
        {
          "text": "Ceiling height approx 2.4m",
          "placement": "Bottom right corner"
        }
      ]
    },
    {
      "id": "rooftop_exterior_anchor",
      "label": "옥상 및 외부 계단 평면도 · Rooftop Terrace and Stairs Plan",
      "visual_domain": "exterior",
      "anchor_cluster_id": "cluster_exterior",
      "is_anchor": true,
      "canon_refs": [
        "environment_canon.shared_furniture_styles"
      ],
      "t2i_prompt": "Modest, outdated wooden dining chairs, simple wooden dining table, basic functional shelving. Black-and-white architectural plan, top-down orthographic view, technical line drawing on white background. Exterior plan of a rooftop terrace and connecting stairs. Walls = solid black lines, doors = swing arcs. Includes a flat rooftop terrace with a water tank, clothesline, and a wooden platform. A steep exterior staircase leads down to a small ground-level yard with a parked bicycle. Furniture and fixtures = labeled simple geometric outlines. Bilingual labels (Korean / English). Compass rose (N) at corner, scale bar (0-5m) at corner. No 3D perspective, strictly 2D plan view. No human figures. White background, no shading.",
      "legend": [
        {
          "symbol": "Dashed Line",
          "meaning": "Staircase · 계단"
        },
        {
          "symbol": "Circle Outline",
          "meaning": "Water Tank · 물탱크"
        }
      ],
      "elements_meta": [
        {
          "id": "rooftop_terrace",
          "kind": "wall",
          "label": "옥상 마당 · Rooftop Terrace",
          "position_hint": "Main upper area",
          "note": "Flat concrete surface"
        },
        {
          "id": "water_tank",
          "kind": "fixture",
          "label": "물탱크 · Water Tank",
          "position_hint": "Corner of the terrace",
          "note": "Large cylindrical tank"
        },
        {
          "id": "wooden_platform",
          "kind": "furniture",
          "label": "평상 · Wooden Platform",
          "position_hint": "Center of the terrace",
          "note": "Used for drying items"
        },
        {
          "id": "exterior_stairs",
          "kind": "fixture",
          "label": "외부 계단 · Exterior Stairs",
          "position_hint": "Edge of the terrace leading down",
          "note": "Steep concrete steps"
        },
        {
          "id": "ground_yard",
          "kind": "wall",
          "label": "1층 마당 · Ground Yard",
          "position_hint": "Bottom of the stairs",
          "note": "Small enclosed area"
        }
      ],
      "annotations": [
        {
          "text": "Slight slope for drainage",
          "placement": "Center of terrace"
        }
      ]
    }
  ],
  "shot_assignment": [
    {
      "scene_index": 4,
      "shot_index": 1,
      "base_plan_id": "neighborhood_site_map_anchor",
      "visual_domain": "site_map"
    },
    {
      "scene_index": 5,
      "shot_index": 1,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 5,
      "shot_index": 2,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 5,
      "shot_index": 3,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 5,
      "shot_index": 4,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 5,
      "shot_index": 5,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 5,
      "shot_index": 6,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 5,
      "shot_index": 7,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 5,
      "shot_index": 8,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 5,
      "shot_index": 9,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 5,
      "shot_index": 10,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 5,
      "shot_index": 11,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 5,
      "shot_index": 12,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 5,
      "shot_index": 13,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 10,
      "shot_index": 1,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 10,
      "shot_index": 2,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 10,
      "shot_index": 3,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 10,
      "shot_index": 4,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 10,
      "shot_index": 5,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 10,
      "shot_index": 6,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 10,
      "shot_index": 7,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 11,
      "shot_index": 1,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 11,
      "shot_index": 2,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 11,
      "shot_index": 3,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 11,
      "shot_index": 4,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 11,
      "shot_index": 5,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 11,
      "shot_index": 6,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 12,
      "shot_index": 1,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 12,
      "shot_index": 2,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 12,
      "shot_index": 3,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 12,
      "shot_index": 4,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 12,
      "shot_index": 5,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 12,
      "shot_index": 6,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 12,
      "shot_index": 7,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 12,
      "shot_index": 8,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 12,
      "shot_index": 9,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 12,
      "shot_index": 10,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 12,
      "shot_index": 11,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 12,
      "shot_index": 12,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 12,
      "shot_index": 13,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 12,
      "shot_index": 14,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 12,
      "shot_index": 15,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 13,
      "shot_index": 1,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 13,
      "shot_index": 2,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 13,
      "shot_index": 3,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 13,
      "shot_index": 4,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 13,
      "shot_index": 5,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 13,
      "shot_index": 6,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 14,
      "shot_index": 1,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 14,
      "shot_index": 2,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 14,
      "shot_index": 3,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 14,
      "shot_index": 4,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 14,
      "shot_index": 5,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 14,
      "shot_index": 6,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 14,
      "shot_index": 7,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 14,
      "shot_index": 8,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 14,
      "shot_index": 9,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 14,
      "shot_index": 10,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 17,
      "shot_index": 1,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 17,
      "shot_index": 2,
      "base_plan_id": "rooftop_exterior_anchor",
      "visual_domain": "exterior"
    },
    {
      "scene_index": 18,
      "shot_index": 1,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 18,
      "shot_index": 2,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 18,
      "shot_index": 3,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 18,
      "shot_index": 4,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 18,
      "shot_index": 5,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 18,
      "shot_index": 6,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 18,
      "shot_index": 7,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 18,
      "shot_index": 8,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 18,
      "shot_index": 9,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 18,
      "shot_index": 10,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 18,
      "shot_index": 11,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 18,
      "shot_index": 12,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 18,
      "shot_index": 13,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 18,
      "shot_index": 14,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 25,
      "shot_index": 1,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 25,
      "shot_index": 2,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 25,
      "shot_index": 3,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 25,
      "shot_index": 4,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 25,
      "shot_index": 5,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 25,
      "shot_index": 6,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 25,
      "shot_index": 7,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 25,
      "shot_index": 8,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 25,
      "shot_index": 9,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 27,
      "shot_index": 1,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 27,
      "shot_index": 2,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 27,
      "shot_index": 3,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 27,
      "shot_index": 4,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    },
    {
      "scene_index": 27,
      "shot_index": 5,
      "base_plan_id": "rooftop_interior_anchor",
      "visual_domain": "interior"
    }
  ]
}