{
  "status": "completed",
  "completed_count": 18,
  "applicable_count": 18,
  "failed_count": 0,
  "data": {
    "locations": {
      "L03": {
        "location_id": "L03",
        "location_name": "야외 사건 현장",
        "shot_count": 1,
        "rationale_summary": "Only one shot is set in this outdoor incident area, and it presents a single daylight state with the same stretcher, tape, forensic equipment, and broadcast-style framing. No alternate time of day, lighting setup, or surface state is required, so one root background image can serve the entire location.",
        "nodes": [
          {
            "depth": 0,
            "description": "A photorealistic outdoor incident area under flat overcast daylight, framed at stretcher height with yellow police tape along the edges. A wheeled stretcher with a taut white covering sits in the center, surrounded by muted forensic equipment and collection tools on dull ground. The image has a desaturated broadcast-footage feel, with harsh highlights on the white fabric and dirty ocher tape against a hazy background.",
            "id": "outdoor_incident_area_overcast",
            "kind": "anchor_root",
            "label": "Outdoor incident area, overcast daylight",
            "parent_id": "",
            "rationale": "anchor - first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S03_Shot2"
            ]
          }
        ],
        "execution_order": [
          "outdoor_incident_area_overcast"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L02": {
        "location_id": "L02",
        "location_name": "도시 뒷골목",
        "shot_count": 3,
        "rationale_summary": "The night alley shots share the same utility pole, worn wall edge, wet pavement, and sodium streetlight state, so both close and low views can reuse one night alley background. The overcast daytime station exterior has a different physical setting and lighting state, so it is separated as its own root anchor rather than chained from the alley image.",
        "nodes": [
          {
            "depth": 0,
            "description": "A narrow urban back alley at night is framed beside a utility pole, with worn wall surfaces running along the side and wet pavement catching weak reflections. Sickly sodium streetlight mixes with cold greenish-gray shadow, leaving most corners dim while the pole and wall sliver stay readable as fixed anchors.",
            "id": "narrow_alley_night_wet_pavement",
            "kind": "anchor_root",
            "label": "narrow alley night with wet pavement",
            "parent_id": "",
            "rationale": "anchor -- first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S02_Shot3",
              "S02_Shot4"
            ]
          },
          {
            "depth": 0,
            "description": "An overcast daytime exterior shows a public station facade receding behind a damp street edge, with muted gray reflections on the ground. The view holds a low front-left street position, keeping the building frontage, curb line, and soft cloudy light consistent without strong shadows.",
            "id": "building_exterior_day_overcast",
            "kind": "anchor_root",
            "label": "public station exterior overcast day",
            "parent_id": "",
            "rationale": "anchor -- separate daylight exterior view with different lighting and fixed background requirements",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S22_Shot1"
            ]
          }
        ],
        "execution_order": [
          "narrow_alley_night_wet_pavement",
          "building_exterior_day_overcast"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L01": {
        "location_id": "L01",
        "location_name": "숲속",
        "shot_count": 2,
        "rationale_summary": "The plan uses one root anchor for the shoulder-height wide forest edge view and one child node for the much lower ground-level forest floor view. Both shots share the same dense dusk woodland, fog, wet vegetation, and rough dirt, but the second shot needs a separate background because the camera is nearly on the mud and the foreground leaf and earth textures dominate the frame. No close-up insert nodes are needed, and every shot is assigned exactly once.",
        "nodes": [
          {
            "depth": 0,
            "description": "A dense wooded edge at blue gray dusk, with thick shrubs, wet branches, narrow trunks, and foggy negative space between the trees. The rough dirt ground is dimly visible below, while faint cold backlight catches small leaf highlights and keeps the forest background dark and enclosed.",
            "id": "dusk_forest_edge_wide",
            "kind": "anchor_root",
            "label": "wide dusk forest edge",
            "parent_id": "",
            "rationale": "anchor — first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S01_Shot4"
            ]
          },
          {
            "depth": 1,
            "description": "A very low ground-level view across damp forest mud at colder twilight, with fallen leaves large in the foreground and dense dark brush rising behind the midground. The same wet branches, fog, narrow trunks, and blue gray dusk light remain visible, but the surface texture of the earth dominates the image with a faint dark stain in the mud.",
            "id": "dusk_forest_floor_low",
            "kind": "anchor_state",
            "label": "low dusk forest floor",
            "parent_id": "dusk_forest_edge_wide",
            "rationale": "The low forest floor view needs a separate ground-dominant plate while preserving the same dusk woods and wet vegetation from the wide anchor.",
            "shared_visual_anchors_with_parent": [
              "dense shrubs",
              "wet branches",
              "narrow tree trunks",
              "blue gray dusk fog",
              "rough dirt ground"
            ],
            "shot_ids": [
              "S01_Shot5"
            ]
          }
        ],
        "execution_order": [
          "dusk_forest_edge_wide",
          "dusk_forest_floor_low"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L04": {
        "location_id": "L04",
        "location_name": "옥탑방 옥상·철문 현관 외부",
        "shot_count": 5,
        "rationale_summary": "The plan uses the overcast aerial rooftop neighborhood as the root because it is the broadest establishing view of the building, surrounding roofs, alleys, water tanks, and damp concrete surfaces. The night door, flyer, door-gap, and window-reflection shots share the same rooftop exterior state and can be served by one dim night entrance-and-window background, with the extreme close views treated as reuse of that parent plate. The dawn alley shot requires a separate state because the camera is at street level, the light is pale blue, and the rooftop window is warmly lit, so it becomes a separate child of the aerial root.",
        "nodes": [
          {
            "depth": 0,
            "description": "High overhead exterior view of an old low-rise concrete rooftop room set among flat roofs, narrow alleys, gray blocks, and scattered rooftop water tanks. The surfaces look damp under flat overcast daylight, with muted cement tones and a faint coastal haze softening the neighborhood grid.",
            "id": "neighborhood_rooftop_day_overcast",
            "kind": "anchor_root",
            "label": "Overcast rooftop neighborhood aerial",
            "parent_id": "",
            "rationale": "anchor — first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S04_Shot1"
            ]
          },
          {
            "depth": 1,
            "description": "Night exterior view of the rooftop entrance area with a rusty iron door, a narrow black door seam, and an advertising flyer wedged near the gap. A dark window, slack laundry lines, an old water tank, a wooden platform, and scattered dried herbs remain visible as fixed rooftop clutter under weak gray-green exterior light.",
            "id": "rooftop_entrance_night_dim",
            "kind": "anchor_state",
            "label": "Dim night rooftop door and window exterior",
            "parent_id": "neighborhood_rooftop_day_overcast",
            "rationale": "This child shifts the established rooftop room into a close night exterior state while preserving the same rooftop structure and clutter for the door, flyer, gap, and window reflection shots.",
            "shared_visual_anchors_with_parent": [
              "old rooftop room",
              "gray concrete roof",
              "water tank",
              "laundry lines",
              "damp surfaces"
            ],
            "shot_ids": [
              "S10_Shot4",
              "S10_Shot6",
              "S10_Shot7"
            ]
          },
          {
            "depth": 1,
            "description": "Low alley-floor view looking up along a damp concrete wall toward the rooftop room, with a warm lit window forming a small rectangle above the dark wall. Pale blue dawn fog mutes the alley, while the upper roofline, rooftop room mass, and water tank shapes sit in soft silhouette.",
            "id": "alley_rooftop_dawn_lit_window",
            "kind": "anchor_state",
            "label": "Dawn alley view toward lit rooftop window",
            "parent_id": "neighborhood_rooftop_day_overcast",
            "rationale": "This child reuses the established building and rooftop room but changes to a low alley perspective with dawn fog and a warm lit window state.",
            "shared_visual_anchors_with_parent": [
              "old rooftop room",
              "low-rise concrete walls",
              "narrow alley",
              "damp surfaces",
              "water tank silhouette"
            ],
            "shot_ids": [
              "S17_Shot1"
            ]
          }
        ],
        "execution_order": [
          "neighborhood_rooftop_day_overcast",
          "rooftop_entrance_night_dim",
          "alley_rooftop_dawn_lit_window"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L06": {
        "location_id": "L06",
        "location_name": "해안도로",
        "shot_count": 3,
        "rationale_summary": "The location is one continuous coastal asphalt road, but the shots require three incompatible visual states: fog-softened daylight, dark foggy night with sparse streetlight, and storm-gray daylight with heavy rain. Each state gets one background node because the lighting, weather, and pavement surface conditions cannot be served by a single image, while all nodes preserve the same core anchors of road, shoulder, guardrail, and sea horizon.",
        "nodes": [
          {
            "depth": 0,
            "description": "A low side-view background of an asphalt coastal road with a bicycle-capable shoulder, a simple guardrail, and a low gray sea horizon beyond it. Bright fog-softened daylight flattens contrast, leaving muted sea tones, pale sky, and gentle highlights on the road edge.",
            "id": "coastal_road_day_fog_side",
            "kind": "anchor_root",
            "label": "coastal road shoulder in foggy daylight",
            "parent_id": "",
            "rationale": "anchor - first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S06_Shot1"
            ]
          },
          {
            "depth": 1,
            "description": "A low three-quarter frontal background on the same coastal asphalt road, with the empty lane receding into dense fog and the shoulder still readable near the foreground. Sparse sodium streetlight, cold moonlit haze, damp pavement, and a dim sea edge create a dark gray corridor.",
            "id": "coastal_road_night_fog_frontal",
            "kind": "anchor_state",
            "label": "coastal road in foggy night light",
            "parent_id": "coastal_road_day_fog_side",
            "rationale": "This is the same coastal road but needs a separate night state with different direction, darkness, and artificial light.",
            "shared_visual_anchors_with_parent": [
              "asphalt road",
              "bicycle shoulder",
              "guardrail",
              "low sea horizon",
              "coastal fog"
            ],
            "shot_ids": [
              "S09_Shot1"
            ]
          },
          {
            "depth": 1,
            "description": "A low diagonal background of the same coastal road during heavy rain, with wet asphalt streaks, a visible shoulder, roadside guardrail, and a blurred gray sea beyond. Cold storm-gray daylight is broken by brief white lightning glints on the road surface, rail, and rain lines.",
            "id": "coastal_road_storm_day_diagonal",
            "kind": "anchor_state",
            "label": "coastal road in storm daylight rain",
            "parent_id": "coastal_road_day_fog_side",
            "rationale": "This is the same road layout as the daylight anchor but requires a separate storm state with heavy rain, wet surfaces, and lightning highlights.",
            "shared_visual_anchors_with_parent": [
              "asphalt road",
              "bicycle shoulder",
              "guardrail",
              "low sea horizon",
              "gray coastal sky"
            ],
            "shot_ids": [
              "S24_Shot2"
            ]
          }
        ],
        "execution_order": [
          "coastal_road_day_fog_side",
          "coastal_road_night_fog_frontal",
          "coastal_road_storm_day_diagonal"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L09": {
        "location_id": "L09",
        "location_name": "대형 마트 매장 내부",
        "shot_count": 5,
        "rationale_summary": "The plan uses one root for the dusk interior aisle, since it is the main retail-space anchor with stocked shelves, paper boxes, and fluorescent light. The outside entrance at dusk is a child because it shares the automatic doorway and interior glow but needs a separate exterior composition. The morning aisle is another child because it uses the same shelving layout but changes the light to sterile white morning fluorescent. The foggy daylight exterior wall with a security camera is parented under the exterior entrance to preserve storefront continuity while separating the different time of day and wall-zone background.",
        "nodes": [
          {
            "depth": 0,
            "description": "A modern supermarket aisle with parallel stocked shelves, stacked paper boxes, and clean retail flooring under bright cool fluorescent ceiling lights. A faint dusk-blue spill from the entrance mixes into the otherwise flat interior light, giving the aisle a slightly cold blue cast while the surfaces remain orderly and undisturbed.",
            "id": "interior_aisle_dusk_fluorescent",
            "kind": "anchor_root",
            "label": "interior aisle at dusk with fluorescent light",
            "parent_id": "",
            "rationale": "anchor - first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S08_Shot4"
            ]
          },
          {
            "depth": 1,
            "description": "The exterior entrance of a modern supermarket seen just outside the automatic glass doors, with interior fluorescent light spilling through the doorway and stocked shelves faintly visible inside. Damp dusk-blue street light mixes with red neon and cool shop lighting, with a parked bicycle near the left edge and wet pavement reflecting the storefront glow.",
            "id": "exterior_entrance_dusk_neon",
            "kind": "anchor_state",
            "label": "exterior entrance at dusk with neon spill",
            "parent_id": "interior_aisle_dusk_fluorescent",
            "rationale": "The exterior entrance is parented to the dusk aisle because the automatic doors and fluorescent interior glow connect the outside view to the same dusk lighting state.",
            "shared_visual_anchors_with_parent": [
              "automatic glass doors",
              "cool fluorescent interior glow",
              "stocked shelves beyond entrance",
              "dusk blue color spill"
            ],
            "shot_ids": [
              "S08_Shot9"
            ]
          },
          {
            "depth": 1,
            "description": "A central supermarket aisle with long parallel shelves full of products, pale green and gray retail tones, clean floor lanes, and a few stacked paper boxes along the shelving. The lighting is sterile white morning fluorescent with no warm dusk contamination, making the aisle feel quiet, empty, and orderly.",
            "id": "interior_aisle_morning_fluorescent",
            "kind": "anchor_state",
            "label": "interior aisle in sterile morning light",
            "parent_id": "interior_aisle_dusk_fluorescent",
            "rationale": "The morning aisle keeps the same shelf geometry and retail materials as the root but requires a separate node because the lighting state changes from dusk-blue spill to sterile white fluorescent light.",
            "shared_visual_anchors_with_parent": [
              "parallel stocked shelves",
              "clean retail floor",
              "stacked paper boxes",
              "cool fluorescent ceiling lights"
            ],
            "shot_ids": [
              "S19_Shot2",
              "S19_Shot5"
            ]
          },
          {
            "depth": 2,
            "description": "An exterior supermarket wall area in cold early daylight, with a gray damp wall plane, fog-softened storefront lines, and a high mounted security camera visible against the upper background. The scene uses flat coastal fog light with subtle wall bounce, muted reflections, and a small hard glint on the camera lens.",
            "id": "exterior_wall_day_fog_cctv",
            "kind": "anchor_state",
            "label": "exterior wall in foggy daylight with security camera",
            "parent_id": "exterior_entrance_dusk_neon",
            "rationale": "The foggy wall view is parented to the exterior entrance because both are outside storefront views, while the daylight fog and security camera zone require a distinct rendered state.",
            "shared_visual_anchors_with_parent": [
              "exterior wall plane",
              "storefront edge lines",
              "damp pavement texture",
              "glass storefront surfaces"
            ],
            "shot_ids": [
              "S19_Shot7"
            ]
          }
        ],
        "execution_order": [
          "interior_aisle_dusk_fluorescent",
          "exterior_entrance_dusk_neon",
          "interior_aisle_morning_fluorescent",
          "exterior_wall_day_fog_cctv"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L07": {
        "location_id": "L07",
        "location_name": "유기견 보호원",
        "shot_count": 3,
        "rationale_summary": "The location is organized into two normal-state background nodes. The root node covers the kennel aisle under cold fluorescent light, which supports the tight kennel-bar and medical close-up shots because both depend on the same damp gray cage environment. The child node covers the nearby grooming table, separated only because the visible work surface and softer overhead task light create a distinct background zone, while still sharing the same shelter materials and fluorescent ambience.",
        "nodes": [
          {
            "depth": 0,
            "description": "A damp indoor animal shelter aisle with gray concrete flooring, desaturated walls, and a row of metal kennel cages with vertical bars dominating the foreground. Cold fluorescent ceiling fixtures flatten the space, while grooming tools, bath equipment, aprons, and medical supplies sit in the nearby service area without changing the clean working state.",
            "id": "interior_kennel_aisle_fluorescent_normal",
            "kind": "anchor_root",
            "label": "kennel aisle normal fluorescent",
            "parent_id": "",
            "rationale": "anchor -- first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S07_Shot1",
              "S07_Shot4"
            ]
          },
          {
            "depth": 1,
            "description": "A compact grooming work area inside the same shelter, centered on a grooming table with scissors, clippers, towels, and muted gray service surfaces. Soft overhead work light brightens the tabletop while the surrounding kennel bars, damp concrete floor, and cold fluorescent shelter ambience remain visible as a subdued background band.",
            "id": "interior_grooming_table_fluorescent_normal",
            "kind": "anchor_state",
            "label": "grooming table normal fluorescent",
            "parent_id": "interior_kennel_aisle_fluorescent_normal",
            "rationale": "The grooming table view is parented to the kennel aisle because it shares the same shelter state and keeps the kennel bars and gray fluorescent ambience as continuity anchors.",
            "shared_visual_anchors_with_parent": [
              "metal kennel bars",
              "damp concrete floor",
              "gray shelter walls",
              "cold fluorescent ceiling light",
              "service shelves with tools"
            ],
            "shot_ids": [
              "S07_Shot9"
            ]
          }
        ],
        "execution_order": [
          "interior_kennel_aisle_fluorescent_normal",
          "interior_grooming_table_fluorescent_normal"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L11": {
        "location_id": "L11",
        "location_name": "옥탑방 외부 계단",
        "shot_count": 1,
        "rationale_summary": "This location needs only one background node because the single shot uses one stable nighttime state: the top of a worn exterior cement stair, the rooftop landing, the old railing, and the half-open metal entrance door. No separate close-up, time change, or surface-state change is required, so one root anchor can serve the entire background need.",
        "nodes": [
          {
            "depth": 0,
            "description": "A steep worn cement stair reaches a damp gray rooftop landing bordered by an old railing. At the far side, a half-open metal entrance door sits in cold rooftop night light, with a dark interior beyond the doorway creating a stark split between exterior gray concrete and interior shadow.",
            "id": "rooftop_stair_landing_night_half_open_door",
            "kind": "anchor_root",
            "label": "rooftop stair landing night half open door",
            "parent_id": "",
            "rationale": "anchor -- first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S11_Shot5"
            ]
          }
        ],
        "execution_order": [
          "rooftop_stair_landing_night_half_open_door"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L10": {
        "location_id": "L10",
        "location_name": "다세대 빌라 외부 골목·마당",
        "shot_count": 3,
        "rationale_summary": "All three shots share the same night exterior stair and rooftop walkway state: wet concrete, tight railings, cold fog, and red siren reflections. The closer reverse and over-shoulder views can reuse the same medium-wide background because their visible environment is the same softened stair-walkway zone rather than a distinct room, time, or surface state. No separate insert or state node is needed.",
        "nodes": [
          {
            "depth": 0,
            "description": "A narrow exterior stair approach connects to a rooftop walkway beside an old multi-unit building, with wet concrete underfoot and a dark metal stair rail pressed close to the frame. Cold blue-gray night fog softens the background while intermittent red siren reflections streak across the railing and damp surfaces. The space feels cramped, shadowed, and exposed, with no visible people.",
            "id": "exterior_stair_walkway_night_wet",
            "kind": "anchor_root",
            "label": "Wet exterior stair walkway at night",
            "parent_id": "",
            "rationale": "anchor -- first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S13_Shot5",
              "S13_Shot6",
              "S13_Shot8"
            ]
          }
        ],
        "execution_order": [
          "exterior_stair_walkway_night_wet"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L05": {
        "location_id": "L05",
        "location_name": "옥탑방 내부",
        "shot_count": 18,
        "rationale_summary": "The plan uses one daytime main-room root because most kitchen, dining, television, wrist, and photograph insert shots can share the same compact living background. Bedroom shots split into distinct surface and lighting states: dim stained, clean gray, and dusk marked wall, because those fixed visual changes cannot be served by one plate. The bathroom mirror is a separate connected subspace but remains parented to the main room through doorway and palette continuity, while all dusk living-room aftermath shots share one ransacked main-room node. Tight close-ups, prop inserts, and hand-scale views are grouped under their parent spatial states rather than receiving separate background images.",
        "nodes": [
          {
            "depth": 0,
            "description": "A worn compact rooftop living area joins a small kitchen and dining corner, with a sink, stove, pot, table, television, narrow windows, and a simple floor lamp. Pale daytime window light mixes with a cool screen glow and faint kitchen steam, keeping the surfaces muted blue-gray and washed yellow. Connected doorways toward the bedroom, bathroom, and entry remain visible as reusable spatial anchors.",
            "id": "main_room_day_normal",
            "kind": "anchor_root",
            "label": "Main room daytime normal",
            "parent_id": "",
            "rationale": "anchor - first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S05_Shot3",
              "S05_Shot8",
              "S05_Shot13",
              "S18_Shot15",
              "S18_Shot16"
            ]
          },
          {
            "depth": 1,
            "description": "A small bedroom is seen from near the doorway, with floorboards leading toward a bed, a closed curtain, and a damp gray wall. The room is dim and disturbed, with dark red pooled staining and a footprint trail across the floor, plus a faint red circular smear near the bed wall. Weak cool ambient light and a low screen-like spill from the main room flatten the space into cold gray shadows.",
            "id": "bedroom_dim_stained_mark",
            "kind": "anchor_state",
            "label": "Bedroom dim stained state",
            "parent_id": "main_room_day_normal",
            "rationale": "This child uses the connected bedroom doorway from the main room as the strongest transition into the disturbed bedroom state.",
            "shared_visual_anchors_with_parent": [
              "bedroom doorway",
              "worn floorboards",
              "muted gray walls",
              "cool interior spill"
            ],
            "shot_ids": [
              "S12_Shot5",
              "S12_Shot8",
              "S12_Shot16"
            ]
          },
          {
            "depth": 1,
            "description": "The same small bedroom appears unnaturally clean, with spotless floorboards, a plain bed, a curtain, and a bare wall softened by shallow gray light. A backpack and doll can sit on the floor near the bed leg, while the doorway edge and narrow hallway warmth stay faint at the margin. The light is flat, cool, and sterile, with the earlier floor staining absent.",
            "id": "bedroom_gray_clean",
            "kind": "anchor_state",
            "label": "Bedroom clean gray state",
            "parent_id": "main_room_day_normal",
            "rationale": "This clean bedroom state is parented to the main room because the doorway connection and overall compact apartment layout remain the primary shared anchors.",
            "shared_visual_anchors_with_parent": [
              "bedroom doorway",
              "worn floorboards",
              "plain bed area",
              "muted gray wall"
            ],
            "shot_ids": [
              "S14_Shot5",
              "S14_Shot10",
              "S14_Shot12"
            ]
          },
          {
            "depth": 2,
            "description": "A frontal bedroom wall view is framed from just inside the doorway, with dirty plaster, faint doorframe edges, and dim dusk light. A vivid wet-looking red circle sits centered on the wall, with an old pinned photograph and dark red flecks at its middle. The surrounding room falls into dusty blue-gray shadow while the marked wall remains the fixed focal surface.",
            "id": "bedroom_dusk_marked_wall",
            "kind": "anchor_state",
            "label": "Bedroom dusk marked wall",
            "parent_id": "bedroom_gray_clean",
            "rationale": "This child keeps the clean bedroom layout but changes the wall surface, dusk lighting, and fixed red circle with pinned photograph.",
            "shared_visual_anchors_with_parent": [
              "bedroom doorway edges",
              "dirty plaster wall",
              "worn floorboards",
              "cool gray bedroom light"
            ],
            "shot_ids": [
              "S25_Shot5",
              "S25_Shot6"
            ]
          },
          {
            "depth": 1,
            "description": "A cramped bathroom contains a mirror, sink rim, tile edges, and damp greenish-gray shadows. Cold daylight flattens the tiles while haze on the mirror softens the reflection. A saturated red circle appears on the reflected wall plane, with the real sink and tile margins holding the bathroom scale.",
            "id": "bathroom_mirror_day_mark",
            "kind": "anchor_state",
            "label": "Bathroom mirror marked reflection",
            "parent_id": "main_room_day_normal",
            "rationale": "This bathroom view is parented to the main room through the connected doorway and shared cool daylight palette of the compact apartment.",
            "shared_visual_anchors_with_parent": [
              "bathroom doorway",
              "cool daylight",
              "worn interior surfaces",
              "damp gray palette"
            ],
            "shot_ids": [
              "S18_Shot10"
            ]
          },
          {
            "depth": 1,
            "description": "The main living area is now in a dusky ransacked state, with cluttered furniture, an open door, a dim window, the kitchen edge, table, television, and empty floor all visible in blue-gray evening light. The room feels underlit and hollow, with open air from the door and window making the worn surfaces appear colder. The same compact layout remains readable, but the surface state is messier and darker than the daytime version.",
            "id": "main_room_dusk_ransacked",
            "kind": "anchor_state",
            "label": "Main room dusk ransacked",
            "parent_id": "main_room_day_normal",
            "rationale": "This child preserves the same main room layout as the root while changing to dusk lighting, open thresholds, and a cluttered aftermath state.",
            "shared_visual_anchors_with_parent": [
              "small window",
              "entry door",
              "kitchen edge",
              "dining table",
              "television",
              "worn floor"
            ],
            "shot_ids": [
              "S25_Shot13",
              "S27_Shot2",
              "S27_Shot3",
              "S27_Shot6"
            ]
          }
        ],
        "execution_order": [
          "main_room_day_normal",
          "bedroom_dim_stained_mark",
          "bedroom_gray_clean",
          "bedroom_dusk_marked_wall",
          "bathroom_mirror_day_mark",
          "main_room_dusk_ransacked"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L12": {
        "location_id": "L12",
        "location_name": "해안가 버스정류장 부근",
        "shot_count": 3,
        "rationale_summary": "The location is divided into two reusable night backgrounds. The first root image covers the main bus shelter and bench against the dark ocean, and it also serves the close-up insert because the hand-scale foreground can reuse the same shelter, bench, and cold coastal night background. The second image is a child road-shoulder view for the wider running-road composition, since it needs a different perspective with the shelter receding in the rear while preserving the same wet road, sea haze, road lamps, and coastal materials.",
        "nodes": [
          {
            "depth": 0,
            "description": "A photorealistic night wide view of a small coastal bus shelter facing a dark ocean, with a bench under the roof and jagged shore rocks around the stop. A wet coastal road runs behind the shelter, catching faint amber reflections from distant road lamps while the black sea fills most of the background. The surface state is damp, quiet, and undisturbed, with muted blue-gray coastal haze and weak sodium light.",
            "id": "coastal_bus_shelter_night",
            "kind": "anchor_root",
            "label": "coastal bus shelter night view",
            "parent_id": "",
            "rationale": "anchor - first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S15_Shot1",
              "S15_Shot2"
            ]
          },
          {
            "depth": 1,
            "description": "A photorealistic wide night view from the coastal road shoulder, with wet asphalt and road markings leading into fog along the dark coast. The bus shelter appears smaller in the left rear, still identifiable by its roof, sign structure, bench silhouette, and nearby shore rocks. Muted blue-gray night, smeared amber road lamps, damp pavement reflections, and sea haze match the parent atmosphere.",
            "id": "coastal_road_shoulder_night",
            "kind": "anchor_state",
            "label": "coastal road shoulder night view",
            "parent_id": "coastal_bus_shelter_night",
            "rationale": "The road view is parented to the bus shelter night view because the shelter, wet coastal road, dark sea, and amber lamps remain the strongest shared anchors while the camera shifts down the road.",
            "shared_visual_anchors_with_parent": [
              "bus shelter roof",
              "bus stop sign structure",
              "bench silhouette",
              "wet coastal road",
              "dark ocean",
              "shore rocks",
              "distant amber road lamps",
              "blue gray sea haze"
            ],
            "shot_ids": [
              "S15_Shot4"
            ]
          }
        ],
        "execution_order": [
          "coastal_bus_shelter_night",
          "coastal_road_shoulder_night"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L13": {
        "location_id": "L13",
        "location_name": "경찰서 사무실",
        "shot_count": 5,
        "rationale_summary": "All shots share the same desk-centered office space, the same cold fluorescent lighting, and the same normal cluttered work state. Tight phone, photograph, face, and monitor views can all reuse one desk area background because their required anchors are the desktop clutter, evidence photographs, computer monitor, gray office palette, and red coordinate marker. No separate state node is needed because there is no time, lighting, or room-condition change.",
        "nodes": [
          {
            "depth": 0,
            "description": "A modern office desk area with task chairs, computer monitors, stacked documents, and scattered graphic evidence photographs across the desktop. The main monitor shows a gray-blue maritime map with a red coordinate marker, while harsh green-white fluorescent ceiling light flattens the gray office surfaces. The room is busy with procedural clutter but remains in a normal, undisturbed working state.",
            "id": "interior_desk_area_fluorescent_normal",
            "kind": "anchor_root",
            "label": "office desk area fluorescent normal",
            "parent_id": "",
            "rationale": "anchor - first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S16_Shot3",
              "S16_Shot5",
              "S21_Shot6",
              "S21_Shot7",
              "S21_Shot11"
            ]
          }
        ],
        "execution_order": [
          "interior_desk_area_fluorescent_normal"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L14": {
        "location_id": "L14",
        "location_name": "마트 총무과",
        "shot_count": 3,
        "rationale_summary": "All shots use the same office desk area in the same lighting state, with flat fluorescent light and cold monitor spill. The surveillance monitor close-up is a through-device insert and can reuse the same background image because the monitor, bezel, and desk edge are already part of the shared office setup. The face and desk coverage shots also share the same desk, monitor implication, gray office surfaces, and unchanged lighting, so no separate state node is needed.",
        "nodes": [
          {
            "depth": 0,
            "description": "A modest administrative office desk holds one or more surveillance monitors with divided playback screens, including a black-and-white image with one unusually dark area. The room sits under flat fluorescent ceiling light, with cold blue-gray monitor spill washing the desk edge and nearby office surfaces while the rest of the background remains dull and shadowed.",
            "id": "office_desk_fluorescent_monitor_glow",
            "kind": "anchor_root",
            "label": "Office desk with surveillance monitor glow",
            "parent_id": "",
            "rationale": "anchor - first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S20_Shot3",
              "S20_Shot5",
              "S20_Shot7"
            ]
          }
        ],
        "execution_order": [
          "office_desk_fluorescent_monitor_glow"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L16": {
        "location_id": "L16",
        "location_name": "PC방",
        "shot_count": 2,
        "rationale_summary": "Both shots are tight insert views within the same dim computer workstation and share the same blue monitor spill, desk edge, keyboard, cubicle dividers, map materials, and orderly room state. The monitor close-up and backpack map insert can reuse one parent workstation background because neither requires a separate time of day, lighting setup, or changed surface condition.",
        "nodes": [
          {
            "depth": 0,
            "description": "A dim computer room workstation with a monitor showing a blue nautical digital map, a keyboard along the desk edge, and low cubicle partitions framing the station. Cool screen glow mixes with sparse ambient light, with a printer nearby and a dark backpack with folded paper maps resting in the desk area. Surfaces are orderly and functional, with no disturbed state change.",
            "id": "interior_computer_station_dim_blue",
            "kind": "anchor_root",
            "label": "dim computer station with map screen",
            "parent_id": "",
            "rationale": "anchor - first broad workstation view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S23_Shot2",
              "S23_Shot4"
            ]
          }
        ],
        "execution_order": [
          "interior_computer_station_dim_blue"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L17": {
        "location_id": "L17",
        "location_name": "포구",
        "shot_count": 3,
        "rationale_summary": "The plan uses one root for the establishing foggy quay view and one child for the closer low dockside boat angle. The close-up shot is grouped with the low-angle dockside background because it uses the same boat edge, fog, wet quay, and mooring post environment rather than requiring a separate background plate. No state split is needed for time, lighting, or surface condition because all shots share post-rain dusk, dense sea fog, wet concrete, and muted gray light.",
        "nodes": [
          {
            "depth": 0,
            "description": "A wet concrete quay forms the lower edge of the frame, facing out over fog-covered water at post-rain dusk. A small boat bow sits in the pale center distance, with mooring posts, tied ropes, and faint rocks fading into dense sea mist.",
            "id": "foggy_quay_dusk_wide",
            "kind": "anchor_root",
            "label": "wide foggy quay at dusk",
            "parent_id": "",
            "rationale": "anchor - first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S26_Shot5"
            ]
          },
          {
            "depth": 1,
            "description": "A low dockside view beside a mooring post looks upward toward the side of a small boat, with a dark wet gunwale and deck edge cutting across the fog-muted twilight. The same wet concrete surface, tied rope, gray water haze, and indistinct rocky shapes remain visible, with cold diffuse light and no direct shadows.",
            "id": "dockside_boat_dusk_low_angle",
            "kind": "anchor_state",
            "label": "low dockside boat view at dusk",
            "parent_id": "foggy_quay_dusk_wide",
            "rationale": "This child keeps the same foggy dusk harbor state while shifting to the stronger mooring post and boat side anchors needed for the dockside low-angle views.",
            "shared_visual_anchors_with_parent": [
              "wet concrete quay",
              "dense sea fog",
              "small boat",
              "mooring post",
              "tied rope",
              "faint rocks"
            ],
            "shot_ids": [
              "S26_Shot8",
              "S26_Shot10"
            ]
          }
        ],
        "execution_order": [
          "foggy_quay_dusk_wide",
          "dockside_boat_dusk_low_angle"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L19": {
        "location_id": "L19",
        "location_name": "소형 어선 갑판",
        "shot_count": 3,
        "rationale_summary": "The location is divided into two reusable background states: the damp exterior deck at dusk for the deck-based close-up and prop insert, and the wheelhouse helm area for the tight interior hand-scale shot. The first node serves as the root because it establishes the boat deck materials, ropes, gear, and coastal dusk lighting. The wheelhouse node is a shallow child that preserves the same boat materials and dusk atmosphere while changing to the cramped cabin lighting and helm fixtures.",
        "nodes": [
          {
            "depth": 0,
            "description": "A worn exterior deck of a small fishing boat with damp wooden planks, rusted metal edges, anchor rope, cleats, and scattered fishing gear. Muted gray-blue dusk light covers the deck, with a faint warm rim from the low horizon and cold shadows between the plank seams. The surface is intact but weathered, wet, and cluttered in a normal working-boat state.",
            "id": "exterior_deck_dusk_damp",
            "kind": "anchor_root",
            "label": "Exterior deck at damp dusk",
            "parent_id": "",
            "rationale": "anchor — first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S28_Shot4",
              "S28_Shot8"
            ]
          },
          {
            "depth": 1,
            "description": "A cramped wheelhouse corner beside the helm, with a steering wheel, simple console, metal trim, worn wood panels, and a narrow window facing the same damp boat exterior. The cabin is in green-gray shadow, cut by weak amber dusk light through the window, with aged surfaces and tight working-boat fixtures. The space remains orderly but worn, matching the same damp coastal atmosphere as the deck.",
            "id": "wheelhouse_interior_dusk_shadow",
            "kind": "anchor_state",
            "label": "Wheelhouse helm in dusk shadow",
            "parent_id": "exterior_deck_dusk_damp",
            "rationale": "This interior helm view is parented to the exterior deck because it belongs to the same boat at the same dusk state and can inherit the damp weathered material language.",
            "shared_visual_anchors_with_parent": [
              "damp worn wood",
              "rusted metal trim",
              "gray-blue dusk atmosphere",
              "weak amber horizon light",
              "small fishing boat fixtures"
            ],
            "shot_ids": [
              "S28_Shot15"
            ]
          }
        ],
        "execution_order": [
          "exterior_deck_dusk_damp",
          "wheelhouse_interior_dusk_shadow"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L20": {
        "location_id": "L20",
        "location_name": "소형 어선 조타실",
        "shot_count": 3,
        "rationale_summary": "All three shots take place in the same cramped wheelhouse state under dim gray dusk lighting with weak amber window spill. The shots are close-ups or tight medium close-ups, including a photograph insert and blurred background reactions, so they can all reuse one wider anchor background rather than requiring separate rendered images. The red circular marks are included as part of the shared visual state because later tight views reference them in the blurred background.",
        "nodes": [
          {
            "depth": 0,
            "description": "A cramped, dark boat wheelhouse with an old steering wheel, worn instrument panel, and narrow glass windows looking out to the sea. Cold gray interior light mixes with a thin amber dusk rim from the windows, while many faint red circular marks overlap the walls and air as a visible layered effect. The surfaces feel aged, close, and slightly grimy, with the helm console kept as the main spatial anchor for tight inserts and close views.",
            "id": "interior_wheelhouse_dusk_red_circles",
            "kind": "anchor_root",
            "label": "wheelhouse interior at dusk with red circles",
            "parent_id": "",
            "rationale": "anchor -- first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S29_Shot4",
              "S29_Shot7",
              "S29_Shot13"
            ]
          }
        ],
        "execution_order": [
          "interior_wheelhouse_dusk_red_circles"
        ],
        "unassigned_shots": [],
        "status": "ok"
      },
      "L18": {
        "location_id": "L18",
        "location_name": "바다",
        "shot_count": 2,
        "rationale_summary": "The location is organized into two background nodes because both shots share the same dusk open sea and massive fog wall, but one requires an unobstructed extra wide view with no vessel while the other requires a low foreground boat bow and wet hull. The first image serves as the root anchor for the clean horizon-scale fog wall, and the second is parented to it to preserve the same fog boundary, amber water, and dim sky while adding the foreground vessel element.",
        "nodes": [
          {
            "depth": 0,
            "description": "A vast open sea at dusk, with low tarnished gold sunset reflections spread across the foreground water. A massive dark gray fog bank spans the middle of the frame like a vertical wall near the horizon, with only a narrow dim sky strip above it and no vessel in view.",
            "id": "open_sea_dusk_fog_wall",
            "kind": "anchor_root",
            "label": "open sea dusk fog wall",
            "parent_id": "",
            "rationale": "anchor - first wide view of this location",
            "shared_visual_anchors_with_parent": [],
            "shot_ids": [
              "S30_Shot2"
            ]
          },
          {
            "depth": 1,
            "description": "A low bow-height sea view at dusk, with a small fishing boat bow and wet hull occupying the lower foreground against rippling amber water. The same cold charcoal fog wall fills the upper frame as a hard boundary, absorbing the warm sunset reflection and leaving a thin dim sky above.",
            "id": "open_sea_dusk_fog_wall_with_bow",
            "kind": "anchor_state",
            "label": "open sea dusk fog wall with boat bow",
            "parent_id": "open_sea_dusk_fog_wall",
            "rationale": "This child keeps the same sea, dusk light, and fog wall but adds the fixed foreground boat bow required for the closer approach view.",
            "shared_visual_anchors_with_parent": [
              "dark gray fog wall",
              "gold sunset water",
              "narrow dim sky",
              "open sea horizon"
            ],
            "shot_ids": [
              "S30_Shot3"
            ]
          }
        ],
        "execution_order": [
          "open_sea_dusk_fog_wall",
          "open_sea_dusk_fog_wall_with_bow"
        ],
        "unassigned_shots": [],
        "status": "ok"
      }
    }
  },
  "step_id": "background_chain_planning",
  "run_id": "f99c066f-3950-4bbf-8902-fe79fb96ee67",
  "resolved_model": "gpt",
  "updated_at": "2026-04-27T10:47:56.298195+00:00"
}