background_pipeline_slice W5 — 20260524_2125_1950d8

stage: w5_generation_map | plan_version: bps_w1 | run_status: succeeded | exit_code: 0 | derived_from: 20260524_2109_ee6f84 | image_backend: gpt-image-2

bg images
28
groups
19
independent
19
derive_from_base
5
weak_reference
4
render batches
3
shots mapped
61
validation
PASS

W5 Invariants

invariantstatus
w4_inputs_presentPASS
all_bg_images_coveredPASS
all_groups_have_basePASS
render_batches_cover_all_bg_oncePASS
references_point_to_earlier_batchPASS
shot_to_background_image_coveragePASS
no_human_decision_fieldPASS
production_diff_zeroPASS
db_write_zeroPASS
image_call_zeroPASS
image_model_is_gpt_image_2PASS

Sample group

{
  "group_id": "L01|main",
  "loc_id": "L01",
  "space_key": "main",
  "base_bg_id": "L01B01",
  "member_bg_ids": [
    "L01B01"
  ],
  "variant_bg_ids": [],
  "shot_keys": [
    "S01_Shot1",
    "S01_Shot4"
  ],
  "generation_order": [
    "L01B01"
  ]
}

Sample background_images (first 2)

{
  "L01B01": {
    "bg_id": "L01B01",
    "image_title": "L01|main|dusk|normal",
    "loc_id": "L01",
    "space_key": "main",
    "render_role": "master_base",
    "state_class": "normal",
    "time_phase": "dusk",
    "render_mode": "independent_text_to_image",
    "primary_reference_bg_id": null,
    "secondary_reference_bg_ids": [],
    "reference_policy": "no_reference",
    "prompt_brief": "Waist-height slightly low wide frame with cold blue dusk lighting. Thick, dark overgrown bushes scrape the left and right edges, their wet leaves catching faint highlights. The damp, muddy forest path recedes into the blue-gray twilight haze behind the center midground.",
    "applies_to_shots": [
      "S01_Shot1",
      "S01_Shot4"
    ],
    "expected_asset": {
      "asset_type": "chain_bg",
      "variant_type": "L01B01"
    },
    "expected_image_model": "gpt-image-2"
  },
  "L02B01": {
    "bg_id": "L02B01",
    "image_title": "L02|main|night|normal",
    "loc_id": "L02",
    "space_key": "main",
    "render_role": "master_base",
    "state_class": "normal",
    "time_phase": "night",
    "render_mode": "independent_text_to_image",
    "primary_reference_bg_id": null,
    "secondary_reference_bg_ids": [],
    "reference_policy": "no_reference",
    "prompt_brief": "Static wide view down the long stretch of the wet pavement toward a central rough utility pole. The damp, grimy alley walls angle inward, framing the space like a dark tunnel. Weak amber streetlight pools around the pole's base, contrasting with cold blue-black shadows along the edges.",
    "applies_to_shots": [
      "S02_Shot1",
      "S02_Shot4"
    ],
    "expected_asset": {
      "asset_type": "chain_bg",
      "variant_type": "L02B01"
    },
    "expected_image_model": "gpt-image-2"
  }
}
raw run_meta.json
{
  "run_id": "20260524_2125_1950d8",
  "stage": "w5_generation_map",
  "plan_version": "bps_w1",
  "generated_at": "2026-05-24T21:25:56.274095+09:00",
  "model": null,
  "image_generation_backend": "gpt-image-2",
  "args": {
    "project_id": "6cb862d9-590c-4dce-86e6-d10c2977db19",
    "episode_id": "08ad2cd3-3e96-4d84-808f-869ee628473c",
    "output_root": "/Users/manta/Documents/Projects/TheRoad-I1/scripts_output/background_pipeline_slice_experiment",
    "dry_run": false,
    "generate": false,
    "model": "gemini-3.5-flash",
    "skip_db": false,
    "stop_after": null,
    "diag_print_imports": false,
    "derive_render_plan_from": null,
    "derive_generation_map_from": "scripts_output/background_pipeline_slice_experiment/20260524_2109_ee6f84"
  },
  "derived_from": "20260524_2109_ee6f84",
  "outputs": [
    "background_generation_map.json",
    "generation_map_compatibility_report.json"
  ],
  "run_status": "succeeded",
  "exit_code": 0,
  "failed_invariants": []
}
raw generation_map (HTML preview only, slice 60000 chars; full JSON preserved)
{
  "schema_version": 1,
  "stage": "w5_generation_map",
  "plan_version": "bps_w1",
  "image_generation_backend": "gpt-image-2",
  "groups": [
    {
      "group_id": "L01|main",
      "loc_id": "L01",
      "space_key": "main",
      "base_bg_id": "L01B01",
      "member_bg_ids": [
        "L01B01"
      ],
      "variant_bg_ids": [],
      "shot_keys": [
        "S01_Shot1",
        "S01_Shot4"
      ],
      "generation_order": [
        "L01B01"
      ]
    },
    {
      "group_id": "L02|main",
      "loc_id": "L02",
      "space_key": "main",
      "base_bg_id": "L02B01",
      "member_bg_ids": [
        "L02B01"
      ],
      "variant_bg_ids": [],
      "shot_keys": [
        "S02_Shot1",
        "S02_Shot4"
      ],
      "generation_order": [
        "L02B01"
      ]
    },
    {
      "group_id": "L03|main",
      "loc_id": "L03",
      "space_key": "main",
      "base_bg_id": "L03B01",
      "member_bg_ids": [
        "L03B01"
      ],
      "variant_bg_ids": [],
      "shot_keys": [
        "S03_Shot2"
      ],
      "generation_order": [
        "L03B01"
      ]
    },
    {
      "group_id": "L04|main",
      "loc_id": "L04",
      "space_key": "main",
      "base_bg_id": "L04B02",
      "member_bg_ids": [
        "L04B01",
        "L04B02",
        "L04B03"
      ],
      "variant_bg_ids": [
        "L04B01",
        "L04B03"
      ],
      "shot_keys": [
        "S04_Shot1",
        "S10_Shot2",
        "S10_Shot5",
        "S17_Shot2"
      ],
      "generation_order": [
        "L04B02",
        "L04B03",
        "L04B01"
      ]
    },
    {
      "group_id": "L05|main",
      "loc_id": "L05",
      "space_key": "main",
      "base_bg_id": "L05B02",
      "member_bg_ids": [
        "L05B01",
        "L05B02",
        "L05B03",
        "L05B04",
        "L05B05"
      ],
      "variant_bg_ids": [
        "L05B01",
        "L05B03",
        "L05B04",
        "L05B05"
      ],
      "shot_keys": [
        "S05_Shot2",
        "S05_Shot6",
        "S05_Shot9",
        "S12_Shot11",
        "S12_Shot14",
        "S12_Shot4",
        "S12_Shot6",
        "S14_Shot4",
        "S14_Shot5",
        "S14_Shot9",
        "S18_Shot12",
        "S18_Shot5",
        "S18_Shot9",
        "S25_Shot3",
        "S25_Shot6",
        "S25_Shot7",
        "S27_Shot1",
        "S27_Shot4"
      ],
      "generation_order": [
        "L05B02",
        "L05B01",
        "L05B03",
        "L05B04",
        "L05B05"
      ]
    },
    {
      "group_id": "L06|main",
      "loc_id": "L06",
      "space_key": "main",
      "base_bg_id": "L06B01",
      "member_bg_ids": [
        "L06B01",
        "L06B02"
      ],
      "variant_bg_ids": [
        "L06B02"
      ],
      "shot_keys": [
        "S06_Shot1",
        "S09_Shot1",
        "S24_Shot2"
      ],
      "generation_order": [
        "L06B01",
        "L06B02"
      ]
    },
    {
      "group_id": "L07|main",
      "loc_id": "L07",
      "space_key": "main",
      "base_bg_id": "L07B01",
      "member_bg_ids": [
        "L07B01"
      ],
      "variant_bg_ids": [],
      "shot_keys": [
        "S07_Shot2",
        "S07_Shot5"
      ],
      "generation_order": [
        "L07B01"
      ]
    },
    {
      "group_id": "L08|main",
      "loc_id": "L08",
      "space_key": "main",
      "base_bg_id": "L08B02",
      "member_bg_ids": [
        "L08B01",
        "L08B02"
      ],
      "variant_bg_ids": [
        "L08B01"
      ],
      "shot_keys": [
        "S08_Shot4",
        "S19_Shot4",
        "S19_Shot5"
      ],
      "generation_order": [
        "L08B02",
        "L08B01"
      ]
    },
    {
      "group_id": "L09|main",
      "loc_id": "L09",
      "space_key": "main",
      "base_bg_id": "L09B01",
      "member_bg_ids": [
        "L09B01"
      ],
      "variant_bg_ids": [],
      "shot_keys": [
        "S08_Shot2"
      ],
      "generation_order": [
        "L09B01"
      ]
    },
    {
      "group_id": "L10|main",
      "loc_id": "L10",
      "space_key": "main",
      "base_bg_id": "L10B01",
      "member_bg_ids": [
        "L10B01"
      ],
      "variant_bg_ids": [],
      "shot_keys": [
        "S20_Shot1",
        "S20_Shot3"
      ],
      "generation_order": [
        "L10B01"
      ]
    },
    {
      "group_id": "L11|exterior",
      "loc_id": "L11",
      "space_key": "exterior",
      "base_bg_id": "L11B01",
      "member_bg_ids": [
        "L11B01"
      ],
      "variant_bg_ids": [],
      "shot_keys": [
        "S11_Shot3",
        "S13_Shot4",
        "S13_Shot6"
      ],
      "generation_order": [
        "L11B01"
      ]
    },
    {
      "group_id": "L12|main",
      "loc_id": "L12",
      "space_key": "main",
      "base_bg_id": "L12B01",
      "member_bg_ids": [
        "L12B01"
      ],
      "variant_bg_ids": [],
      "shot_keys": [
        "S15_Shot1",
        "S15_Shot3",
        "S15_Shot6"
      ],
      "generation_order": [
        "L12B01"
      ]
    },
    {
      "group_id": "L13|main",
      "loc_id": "L13",
      "space_key": "main",
      "base_bg_id": "L13B02",
      "member_bg_ids": [
        "L13B01",
        "L13B02"
      ],
      "variant_bg_ids": [
        "L13B01"
      ],
      "shot_keys": [
        "S16_Shot3",
        "S16_Shot5",
        "S21_Shot10",
        "S21_Shot11",
        "S21_Shot6"
      ],
      "generation_order": [
        "L13B02",
        "L13B01"
      ]
    },
    {
      "group_id": "L14|main",
      "loc_id": "L14",
      "space_key": "main",
      "base_bg_id": "L14B01",
      "member_bg_ids": [
        "L14B01"
      ],
      "variant_bg_ids": [],
      "shot_keys": [
        "S22_Shot1"
      ],
      "generation_order": [
        "L14B01"
      ]
    },
    {
      "group_id": "L15|main",
      "loc_id": "L15",
      "space_key": "main",
      "base_bg_id": "L15B01",
      "member_bg_ids": [
        "L15B01"
      ],
      "variant_bg_ids": [],
      "shot_keys": [
        "S23_Shot1"
      ],
      "generation_order": [
        "L15B01"
      ]
    },
    {
      "group_id": "L16|main",
      "loc_id": "L16",
      "space_key": "main",
      "base_bg_id": "L16B01",
      "member_bg_ids": [
        "L16B01"
      ],
      "variant_bg_ids": [],
      "shot_keys": [
        "S26_Shot1",
        "S26_Shot10"
      ],
      "generation_order": [
        "L16B01"
      ]
    },
    {
      "group_id": "L17|main",
      "loc_id": "L17",
      "space_key": "main",
      "base_bg_id": "L17B01",
      "member_bg_ids": [
        "L17B01"
      ],
      "variant_bg_ids": [],
      "shot_keys": [
        "S28_Shot1",
        "S28_Shot4",
        "S28_Shot6"
      ],
      "generation_order": [
        "L17B01"
      ]
    },
    {
      "group_id": "L18|main",
      "loc_id": "L18",
      "space_key": "main",
      "base_bg_id": "L18B01",
      "member_bg_ids": [
        "L18B01"
      ],
      "variant_bg_ids": [],
      "shot_keys": [
        "S29_Shot1",
        "S29_Shot11",
        "S29_Shot4",
        "S29_Shot7"
      ],
      "generation_order": [
        "L18B01"
      ]
    },
    {
      "group_id": "L19|main",
      "loc_id": "L19",
      "space_key": "main",
      "base_bg_id": "L19B01",
      "member_bg_ids": [
        "L19B01"
      ],
      "variant_bg_ids": [],
      "shot_keys": [
        "S30_Shot2"
      ],
      "generation_order": [
        "L19B01"
      ]
    }
  ],
  "background_images": {
    "L01B01": {
      "bg_id": "L01B01",
      "image_title": "L01|main|dusk|normal",
      "loc_id": "L01",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "dusk",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Waist-height slightly low wide frame with cold blue dusk lighting. Thick, dark overgrown bushes scrape the left and right edges, their wet leaves catching faint highlights. The damp, muddy forest path recedes into the blue-gray twilight haze behind the center midground.",
      "applies_to_shots": [
        "S01_Shot1",
        "S01_Shot4"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L01B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L02B01": {
      "bg_id": "L02B01",
      "image_title": "L02|main|night|normal",
      "loc_id": "L02",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "night",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Static wide view down the long stretch of the wet pavement toward a central rough utility pole. The damp, grimy alley walls angle inward, framing the space like a dark tunnel. Weak amber streetlight pools around the pole's base, contrasting with cold blue-black shadows along the edges.",
      "applies_to_shots": [
        "S02_Shot1",
        "S02_Shot4"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L02B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L03B01": {
      "bg_id": "L03B01",
      "image_title": "L03|main|day|normal",
      "loc_id": "L03",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "day",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Desaturated flat daylight with cold gray highlights and a slight digital texture. Stretched police line tape behind has its printed warning side facing the camera in broken strips. Open forensic equipment cases rest near the ground behind.",
      "applies_to_shots": [
        "S03_Shot2"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L03B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L04B01": {
      "bg_id": "L04B01",
      "image_title": "L04|main|dawn|normal",
      "loc_id": "L04",
      "space_key": "main",
      "render_role": "time_variant",
      "state_class": "normal",
      "time_phase": "dawn",
      "render_mode": "derive_from_base_reference",
      "primary_reference_bg_id": "L04B03",
      "secondary_reference_bg_ids": [],
      "reference_policy": "strict_reference_to_base",
      "prompt_brief": "Low angle medium framing beside a damp wall. Blue predawn fog swallows the exterior space, layering thin, cold bluish mist. Muted amber light leaks from the fogged glass of the window, forming a warm square, with the wet top edge of the rough-textured wall guiding toward it.",
      "applies_to_shots": [
        "S17_Shot2"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L04B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L04B02": {
      "bg_id": "L04B02",
      "image_title": "L04|main|day|normal",
      "loc_id": "L04",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "day",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "High oblique overhead wide shot. An old, sun-bleached multi-family villa rooftop yard sits slightly off-center, bordered by a low parapet, containing a stair bulkhead, an AC unit, a water tank, and a laundry line. Hard daytime sun washes the cracked concrete surfaces in a dry, pale beige-gray palette.",
      "applies_to_shots": [
        "S04_Shot1"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L04B02"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L04B03": {
      "bg_id": "L04B03",
      "image_title": "L04|main|night|intrusion",
      "loc_id": "L04",
      "space_key": "main",
      "render_role": "vision_or_special_variant",
      "state_class": "intrusion",
      "time_phase": "night",
      "render_mode": "weak_reference_variant",
      "primary_reference_bg_id": "L04B02",
      "secondary_reference_bg_ids": [],
      "reference_policy": "weak_reference_continuity_only",
      "prompt_brief": "Ankle-height insert shot, voyeur perspective. Closed iron entrance door looms in the upper-center background. Severely underexposed cold blue-black night atmosphere is cut by a muted amber side light, casting a sharp-edged long shadow diagonally across damp concrete scattered with dry leaves.",
      "applies_to_shots": [
        "S10_Shot2",
        "S10_Shot5"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L04B03"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L05B01": {
      "bg_id": "L05B01",
      "image_title": "L05|main|day|dream_or_vision_state",
      "loc_id": "L05",
      "space_key": "main",
      "render_role": "vision_or_special_variant",
      "state_class": "dream_or_vision_state",
      "time_phase": "day",
      "render_mode": "weak_reference_variant",
      "primary_reference_bg_id": "L05B02",
      "secondary_reference_bg_ids": [],
      "reference_policy": "weak_reference_continuity_only",
      "prompt_brief": "Observer POV slightly below eye line. Unnaturally spotless floor occupies the center of the frame as empty space. In the background, the opened curtain is pulled apart toward both sides of the sliding window, revealing pale glass. Washed dawn daylight filters into the room.",
      "applies_to_shots": [
        "S18_Shot5",
        "S18_Shot9",
        "S18_Shot12"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L05B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L05B02": {
      "bg_id": "L05B02",
      "image_title": "L05|main|day|normal",
      "loc_id": "L05",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "day",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Medium upper-body framing, standing eye level. Damp kitchen counter and sink run diagonally across the lower-left foreground. Behind, steam vents upward from a boiling pot on the cooktop. Further back, thin pale daylight from a hazy sliding window mixes with the kitchen steam, flattening the space.",
      "applies_to_shots": [
        "S05_Shot2",
        "S05_Shot6",
        "S05_Shot9"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L05B02"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L05B03": {
      "bg_id": "L05B03",
      "image_title": "L05|main|dusk|ransacked",
      "loc_id": "L05",
      "space_key": "main",
      "render_role": "state_variant",
      "state_class": "ransacked",
      "time_phase": "dusk",
      "render_mode": "derive_from_base_reference",
      "primary_reference_bg_id": "L05B02",
      "secondary_reference_bg_ids": [],
      "reference_policy": "strict_reference_to_base",
      "prompt_brief": "Voyeuristic shoulder-height composition. Partially open bedroom door gap frames the foreground, showing the disturbed rooftop bedroom interior. Dusk-blue ambient light fills the space, keeping the room cool and dim, with a scattered chair and an unsettled bed visible.",
      "applies_to_shots": [
        "S25_Shot3",
        "S25_Shot6",
        "S25_Shot7",
        "S27_Shot1",
        "S27_Shot4"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L05B03"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L05B04": {
      "bg_id": "L05B04",
      "image_title": "L05|main|night|blood_scene",
      "loc_id": "L05",
      "space_key": "main",
      "render_role": "vision_or_special_variant",
      "state_class": "blood_scene",
      "time_phase": "night",
      "render_mode": "weak_reference_variant",
      "primary_reference_bg_id": "L05B02",
      "secondary_reference_bg_ids": [],
      "reference_policy": "weak_reference_continuity_only",
      "prompt_brief": "Low-to-mid height voyeur dolly framing, peering through the half-open door. Wet, dark red bloodstain spreads extensively across the bedroom floor, leading toward the window curtain at the end of the trail. Cold, night-blue darkness leaks from the window, broken by faint amber spill from the adjacent room.",
      "applies_to_shots": [
        "S12_Shot4",
        "S12_Shot6",
        "S12_Shot11",
        "S12_Shot14"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L05B04"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L05B05": {
      "bg_id": "L05B05",
      "image_title": "L05|main|night|clean_after",
      "loc_id": "L05",
      "space_key": "main",
      "render_role": "state_variant",
      "state_class": "clean_after",
      "time_phase": "night",
      "render_mode": "derive_from_base_reference",
      "primary_reference_bg_id": "L05B04",
      "secondary_reference_bg_ids": [],
      "reference_policy": "strict_reference_to_base",
      "prompt_brief": "Eye-level wide dolly-in composition from the doorway. A neatly made bed with a spotless mattress and pillow is squared to the room. Bare and clean wall above. Pervasive cold blue night light casts chilling shadows across the pristine floor, counterbalanced by a weak amber domestic glow.",
      "applies_to_shots": [
        "S14_Shot4",
        "S14_Shot5",
        "S14_Shot9"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L05B05"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L06B01": {
      "bg_id": "L06B01",
      "image_title": "L06|main|day|normal",
      "loc_id": "L06",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "day",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "A sunlit, dry, open coastal road stretching diagonally. A bright weathered guardrail runs horizontally as lateral streaks, backed by a hazy breezy coastal horizon under clear daylight, slightly desaturated to soften highlights for a clean open contrast.",
      "applies_to_shots": [
        "S06_Shot1",
        "S24_Shot2"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L06B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L06B02": {
      "bg_id": "L06B02",
      "image_title": "L06|main|night|normal",
      "loc_id": "L06",
      "space_key": "main",
      "render_role": "time_variant",
      "state_class": "normal",
      "time_phase": "night",
      "render_mode": "derive_from_base_reference",
      "primary_reference_bg_id": "L06B01",
      "secondary_reference_bg_ids": [],
      "reference_policy": "strict_reference_to_base",
      "prompt_brief": "Chest-height side tracking medium shot. Wet asphalt road edge runs horizontally, forming a dark lateral motion field. Dense, cold, wind-blown sea fog provides a thin background separation from the night sea under cold blue night ambient light.",
      "applies_to_shots": [
        "S09_Shot1"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L06B02"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L07B01": {
      "bg_id": "L07B01",
      "image_title": "L07|main|day|normal",
      "loc_id": "L07",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "day",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Eye-level tight frontal close-up with cold blue-white fluorescent lighting. Soft, out-of-focus metallic blur of oblique wire cages, heavy metal doors, and cold concrete walls of the animal shelter, physically compressed into a shallow depth.",
      "applies_to_shots": [
        "S07_Shot2",
        "S07_Shot5"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L07B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L08B01": {
      "bg_id": "L08B01",
      "image_title": "L08|main|day|normal",
      "loc_id": "L08",
      "space_key": "main",
      "render_role": "time_variant",
      "state_class": "normal",
      "time_phase": "day",
      "render_mode": "derive_from_base_reference",
      "primary_reference_bg_id": "L08B02",
      "secondary_reference_bg_ids": [],
      "reference_policy": "strict_reference_to_base",
      "prompt_brief": "Medium low-angle shot. Exterior space is sheltered beneath an overhanging architectural awning, enveloped in cool, muted early morning shade. A faint, warm amber glow spills outward from the mart's interior through the glass window.",
      "applies_to_shots": [
        "S19_Shot4",
        "S19_Shot5"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L08B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L08B02": {
      "bg_id": "L08B02",
      "image_title": "L08|main|dusk|normal",
      "loc_id": "L08",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "dusk",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Medium shot, shoulder-high angle. A bright storefront with clean fluorescent lighting runs parallel along the right frame edge. A busy evening street streaks into a neon blur behind, where a glowing neon sign casts smeared amber-red light.",
      "applies_to_shots": [
        "S08_Shot4"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L08B02"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L09B01": {
      "bg_id": "L09B01",
      "image_title": "L09|main|dusk|normal",
      "loc_id": "L09",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "dusk",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Chest-height medium over-the-shoulder framing. Environment is illuminated by a stark mix of clean fluorescent white overhead lights and deep dusk-blue spill from the distant entrance. Tight vertical lanes of product displays box the aisle in, with rows of red packaging showing blurred front labels.",
      "applies_to_shots": [
        "S08_Shot2"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L09B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L10B01": {
      "bg_id": "L10B01",
      "image_title": "L10|main|day|normal",
      "loc_id": "L10",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "day",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Wide view from near entrance. Shared admin desk holds a monitor on the far side, its front screen partly visible showing a dark, hard-to-read CCTV image. Dull fluorescent light mixes with a cold blue glow radiating from the screen, while the office door is implied behind the observer.",
      "applies_to_shots": [
        "S20_Shot1",
        "S20_Shot3"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L10B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L11B01": {
      "bg_id": "L11B01",
      "image_title": "L11|exterior|night|normal",
      "loc_id": "L11",
      "space_key": "exterior",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "night",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Tight front close-up with observer POV. Cold blue rooftop wash illuminates the landing space, while a weak amber leak from an unseen doorway grazes the side. A dark, stained, damp stairwell wall flattens the landing space behind.",
      "applies_to_shots": [
        "S11_Shot3",
        "S13_Shot4",
        "S13_Shot6"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L11B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L12B01": {
      "bg_id": "L12B01",
      "image_title": "L12|main|night|normal",
      "loc_id": "L12",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "night",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Bench-height side profile. Stationary bench cuts horizontally through the lower frame. A desolate empty night road lies on one side, while a vast, blue-black moonless sea stretches behind. Low, cold coastal fog drifts, with wet side posts of the bus stop shelter standing as thin dark verticals.",
      "applies_to_shots": [
        "S15_Shot1",
        "S15_Shot3",
        "S15_Shot6"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L12B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L13B01": {
      "bg_id": "L13B01",
      "image_title": "L13|main|day|evidence_display",
      "loc_id": "L13",
      "space_key": "main",
      "render_role": "vision_or_special_variant",
      "state_class": "evidence_display",
      "time_phase": "day",
      "render_mode": "weak_reference_variant",
      "primary_reference_bg_id": "L13B02",
      "secondary_reference_bg_ids": [],
      "reference_policy": "weak_reference_continuity_only",
      "prompt_brief": "Tight close-up from a low position. Worn front lip of the detective office desk crosses the frame, with out-of-focus scattered photographs implied as a blurred strip of pale edges. Sterile blue-gray fluorescent lighting washes the room, as rows of vacated desk sides recede in the blur.",
      "applies_to_shots": [
        "S21_Shot6",
        "S21_Shot10",
        "S21_Shot11"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L13B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L13B02": {
      "bg_id": "L13B02",
      "image_title": "L13|main|night|normal",
      "loc_id": "L13",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "night",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Object-level close-up with compressed shallow depth of field. Front edge of the solid police duty desk forms a dark, out-of-focus horizontal strip along the bottom edge. Dim institutional night duty office interior is implied in the shallow background, with cold office fluorescents flattening the room.",
      "applies_to_shots": [
        "S16_Shot3",
        "S16_Shot5"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L13B02"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L14B01": {
      "bg_id": "L14B01",
      "image_title": "L14|main|day|normal",
      "loc_id": "L14",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "day",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Standing eye level wide shot. Glass doors and concrete frontage of the institutional building stand directly behind, the empty pavement receding toward the entrance. Cool desaturated daylight washes over the station concrete, with a faint amber interior spill behind the doors.",
      "applies_to_shots": [
        "S22_Shot1"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L14B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L15B01": {
      "bg_id": "L15B01",
      "image_title": "L15|main|day|normal",
      "loc_id": "L15",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "day",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Medium framing at seated eye level. Lit PC room with rows of quiet cubicles and partition sides receding diagonally into the background. Cold cyan monitor glow is visible along the lower foreground edge, mixed with stale fluorescent white overhead lights.",
      "applies_to_shots": [
        "S23_Shot1"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L15B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L16B01": {
      "bg_id": "L16B01",
      "image_title": "L16|main|dusk|normal",
      "loc_id": "L16",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "dusk",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Wide low camera framing. Slick wet cobblestones of the harbor edge occupy the lower frame. Deserted port is enveloped in dense, heavy sea fog during post-storm dusk. Quay line recedes from the lower left toward the obscured background, with cold blue-gray dusk lighting.",
      "applies_to_shots": [
        "S26_Shot1",
        "S26_Shot10"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L16B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L17B01": {
      "bg_id": "L17B01",
      "image_title": "L17|main|dusk|normal",
      "loc_id": "L17",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "dusk",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Wide deck observer perspective. Small fishing boat deck with a chipped outer rail under cold blue twilight, while a thin amber-red sunset trace faintly illuminates the deck textures. Dark, wind-ruffled empty open sea extends in the rear background.",
      "applies_to_shots": [
        "S28_Shot1",
        "S28_Shot4",
        "S28_Shot6"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L17B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L18B01": {
      "bg_id": "L18B01",
      "image_title": "L18|main|dusk|normal",
      "loc_id": "L18",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "dusk",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Wide eye-level view from the rear doorway. Cramped interior of the wheelhouse is heavily shadowed in cold blue-black tones, with a narrow, muted red glow from the setting sun bleeding through the dirty front window, casting directional light across steering wheel and console.",
      "applies_to_shots": [
        "S29_Shot1",
        "S29_Shot4",
        "S29_Shot7",
        "S29_Shot11"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L18B01"
      },
      "expected_image_model": "gpt-image-2"
    },
    "L19B01": {
      "bg_id": "L19B01",
      "image_title": "L19|main|dusk|normal",
      "loc_id": "L19",
      "space_key": "main",
      "render_role": "master_base",
      "state_class": "normal",
      "time_phase": "dusk",
      "render_mode": "independent_text_to_image",
      "primary_reference_bg_id": null,
      "secondary_reference_bg_ids": [],
      "reference_policy": "no_reference",
      "prompt_brief": "Medium framing from bow height. Towering dark fog wall rises in the middle-center background as an opaque vertical mass of churning mist. Dark, damp sea surface ripples in the low foreground, reflecting muted amber sunset streaks under cold blue dusk.",
      "applies_to_shots": [
        "S30_Shot2"
      ],
      "expected_asset": {
        "asset_type": "chain_bg",
        "variant_type": "L19B01"
      },
      "expected_image_model": "gpt-image-2"
    }
  },
  "render_batches": [
    [
      "L01B01",
      "L02B01",
      "L03B01",
      "L04B02",
      "L05B02",
      "L06B01",
      "L07B01",
      "L08B02",
      "L09B01",
      "L10B01",
      "L11B01",
      "L12B01",
      "L13B02",
      "L14B01",
      "L15B01",
      "L16B01",
      "L17B01",
      "L18B01",
      "L19B01"
    ],
    [
      "L04B03",
      "L05B01",
      "L05B03",
      "L05B04",
      "L06B02",
      "L08B01",
      "L13B01"
    ],
    [
      "L04B01",
      "L05B05"
    ]
  ],
  "shot_to_background_image": {
    "S01_Shot1": "L01B01",
    "S01_Shot4": "L01B01",
    "S02_Shot1": "L02B01",
    "S02_Shot4": "L02B01",
    "S03_Shot2": "L03B01",
    "S17_Shot2": "L04B01",
    "S04_Shot1": "L04B02",
    "S10_Shot2": "L04B03",
    "S10_Shot5": "L04B03",
    "S18_Shot5": "L05B01",
    "S18_Shot9": "L05B01",
    "S18_Shot12": "L05B01",
    "S05_Shot2": "L05B02",
    "S05_Shot6": "L05B02",
    "S05_Shot9": "L05B02",
    "S25_Shot3": "L05B03",
    "S25_Shot6": "L05B03",
    "S25_Shot7": "L05B03",
    "S27_Shot1": "L05B03",
    "S27_Shot4": "L05B03",
    "S12_Shot4": "L05B04",
    "S12_Shot6": "L05B04",
    "S12_Shot11": "L05B04",
    "S12_Shot14": "L05B04",
    "S14_Shot4": "L05B05",
    "S14_Shot5": "L05B05",
    "S14_Shot9": "L05B05",
    "S06_Shot1": "L06B01",
    "S24_Shot2": "L06B01",
    "S09_Shot1": "L06B02",
    "S07_Shot2": "L07B01",
    "S07_Shot5": "L07B01",
    "S19_Shot4": "L08B01",
    "S19_Shot5": "L08B01",
    "S08_Shot4": "L08B02",
    "S08_Shot2": "L09B01",
    "S20_Shot1": "L10B01",
    "S20_Shot3": "L10B01",
    "S11_Shot3": "L11B01",
    "S13_Shot4": "L11B01",
    "S13_Shot6": "L11B01",
    "S15_Shot1": "L12B01",
    "S15_Shot3": "L12B01",
    "S15_Shot6": "L12B01",
    "S21_Shot6": "L13B01",
    "S21_Shot10": "L13B01",
    "S21_Shot11": "L13B01",
    "S16_Shot3": "L13B02",
    "S16_Shot5": "L13B02",
    "S22_Shot1": "L14B01",
    "S23_Shot1": "L15B01",
    "S26_Shot1": "L16B01",
    "S26_Shot10": "L16B01",
    "S28_Shot1": "L17B01",
    "S28_Shot4": "L17B01",
    "S28_Shot6": "L17B01",
    "S29_Shot1": "L18B01",
    "S29_Shot4": "L18B01",
    "S29_Shot7": "L18B01",
    "S29_Shot11": "L18B01",
    "S30_Shot2": "L19B01"
  },
  "counts": {
    "background_images": 28,
    "groups": 19,
    "independent": 19,
    "derive_from_base_reference": 5,
    "weak_reference_variant": 4,
    "batches": 3,
    "shots_mapped": 61
  },
  "unmapped_to_production_fields": [
    "shot_guides",
    "camera_recommendations",
    "image_bytes",
    "ref_used",
    "validation_score",
    "validation_result",
    "sanitization_strategy"
  ]
}