{
  "status": "completed",
  "applicable_count": 8,
  "completed_count": 8,
  "failed_count": 0,
  "schema_version": 1,
  "config_hash": "4c30e5f82bfd323f",
  "data": {
    "schema_version": 1,
    "groups": [
      {
        "group_id": "osl-l01",
        "location_id": "L01",
        "member_shots": [
          [
            1,
            1
          ],
          [
            1,
            3
          ],
          [
            3,
            3
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                38,
                50
              ],
              "pos": [
                35,
                62
              ],
              "shot_index": 1
            },
            {
              "look_at": [
                61,
                51
              ],
              "pos": [
                68,
                44
              ],
              "shot_index": 3
            },
            {
              "look_at": [
                60,
                48
              ],
              "pos": [
                54,
                36
              ],
              "shot_index": 3
            }
          ],
          "figures": [
            {
              "entity_token": "C07",
              "figure_id": "korean_man",
              "label": "한국인 남자",
              "positions": [
                {
                  "moving_toward": [
                    65,
                    50
                  ],
                  "pos": [
                    35,
                    50
                  ],
                  "shot_index": 1
                },
                {
                  "moving_toward": null,
                  "pos": [
                    62,
                    51
                  ],
                  "shot_index": 3
                }
              ]
            },
            {
              "entity_token": "C14",
              "figure_id": "black_silhouette",
              "label": "검은 인영",
              "positions": [
                {
                  "moving_toward": [
                    62,
                    51
                  ],
                  "pos": [
                    58,
                    49
                  ],
                  "shot_index": 3
                }
              ]
            },
            {
              "entity_token": "C02",
              "figure_id": "hyesu",
              "label": "혜수",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    58,
                    46
                  ],
                  "shot_index": 3
                }
              ]
            },
            {
              "entity_token": null,
              "figure_id": "detective_1",
              "label": "Detectives behind Hyesu",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    55,
                    50
                  ],
                  "shot_index": 3
                }
              ]
            },
            {
              "entity_token": null,
              "figure_id": "detective_2",
              "label": "Detectives behind Hyesu",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    59,
                    51
                  ],
                  "shot_index": 3
                }
              ]
            },
            {
              "entity_token": null,
              "figure_id": "detective_3",
              "label": "Detectives behind Hyesu",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    63,
                    50
                  ],
                  "shot_index": 3
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "L1",
              "kind": "area",
              "label": "woods",
              "points": [
                [
                  0,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  100
                ],
                [
                  0,
                  100
                ]
              ]
            },
            {
              "id": "L2",
              "kind": "area",
              "label": "dense undergrowth",
              "points": [
                [
                  8,
                  14
                ],
                [
                  94,
                  12
                ],
                [
                  96,
                  86
                ],
                [
                  6,
                  88
                ]
              ]
            },
            {
              "id": "L3",
              "kind": "area",
              "label": "crime scene",
              "points": [
                [
                  51,
                  41
                ],
                [
                  71,
                  41
                ],
                [
                  72,
                  57
                ],
                [
                  51,
                  58
                ]
              ]
            },
            {
              "id": "L4",
              "kind": "line",
              "label": "police line",
              "points": [
                [
                  45,
                  35
                ],
                [
                  76,
                  35
                ],
                [
                  79,
                  63
                ],
                [
                  43,
                  65
                ],
                [
                  45,
                  35
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "1:1": "SHOT 1 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- woods: at the mid-distance left side of the frame.\n- dense undergrowth: at the mid-distance left side of the frame.\n- crime scene: at the mid-distance left side of the frame.\n- police line (path): runs from the near left side of the frame to the far left side of the frame.\nFIGURES:\n- 한국인 남자 (C07): at the near right side of the frame — NEAREST figure to the camera; in motion: already partway along their path, heading toward the far left side of the frame.",
          "1:3": "SHOT 3 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- woods: at the mid-distance left side of the frame.\n- dense undergrowth: at the mid-distance left side of the frame.\n- crime scene: at the near center of the frame.\n- police line (path): runs from the mid-distance center of the frame to the far center of the frame.\nFIGURES:\n- Detectives behind Hyesu: at the near center of the frame — NEAREST figure to the camera.\n- 한국인 남자 (C07): at the near center of the frame; about 1.2x as far from the camera as the nearest figure, so they must appear roughly 0.85x the nearest figure's height (smaller, deeper in the frame).\n- 혜수 (C02): at the mid-distance left side of the frame; about 1.3x as far from the camera as the nearest figure, so they must appear roughly 0.77x the nearest figure's height (smaller, deeper in the frame).\n- 검은 인영 (C14): at the mid-distance left side of the frame; about 1.4x as far from the camera as the nearest figure, so they must appear roughly 0.70x the nearest figure's height (smaller, deeper in the frame); in motion: already partway along their path, heading toward the near center of the frame; moving away from 혜수; moving away from Detectives behind Hyesu; moving away from Detectives behind Hyesu; NOT heading into the woods.\n- Detectives behind Hyesu: at the mid-distance center of the frame; about 1.5x as far from the camera as the nearest figure, so they must appear roughly 0.69x the nearest figure's height (smaller, deeper in the frame).\n- Detectives behind Hyesu: at the mid-distance left side of the frame; about 1.8x as far from the camera as the nearest figure, so they must appear roughly 0.55x the nearest figure's height (smaller, deeper in the frame).\nDEPTH CONTRACT: Detectives behind Hyesu is farther than Detectives behind Hyesu and must read visibly smaller and deeper in the frame.",
          "3:3": "SHOT 3 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- woods: at the mid-distance left side of the frame.\n- dense undergrowth: at the mid-distance left side of the frame.\n- crime scene: at the near center of the frame.\n- police line (path): runs from the mid-distance center of the frame to the far center of the frame.\nFIGURES:\n- Detectives behind Hyesu: at the near center of the frame — NEAREST figure to the camera.\n- 한국인 남자 (C07): at the near center of the frame; about 1.2x as far from the camera as the nearest figure, so they must appear roughly 0.85x the nearest figure's height (smaller, deeper in the frame).\n- 혜수 (C02): at the mid-distance left side of the frame; about 1.3x as far from the camera as the nearest figure, so they must appear roughly 0.77x the nearest figure's height (smaller, deeper in the frame).\n- 검은 인영 (C14): at the mid-distance left side of the frame; about 1.4x as far from the camera as the nearest figure, so they must appear roughly 0.70x the nearest figure's height (smaller, deeper in the frame); in motion: already partway along their path, heading toward the near center of the frame; moving away from 혜수; moving away from Detectives behind Hyesu; moving away from Detectives behind Hyesu; NOT heading into the woods.\n- Detectives behind Hyesu: at the mid-distance center of the frame; about 1.5x as far from the camera as the nearest figure, so they must appear roughly 0.69x the nearest figure's height (smaller, deeper in the frame).\n- Detectives behind Hyesu: at the mid-distance left side of the frame; about 1.8x as far from the camera as the nearest figure, so they must appear roughly 0.55x the nearest figure's height (smaller, deeper in the frame).\nDEPTH CONTRACT: Detectives behind Hyesu is farther than Detectives behind Hyesu and must read visibly smaller and deeper in the frame."
        }
      },
      {
        "group_id": "osl-l02",
        "location_id": "L02",
        "member_shots": [
          [
            2,
            2
          ],
          [
            2,
            4
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                50,
                55
              ],
              "pos": [
                50,
                48
              ],
              "shot_index": 2
            },
            {
              "look_at": [
                50,
                55
              ],
              "pos": [
                35,
                40
              ],
              "shot_index": 4
            }
          ],
          "figures": [
            {
              "entity_token": "C06",
              "figure_id": "figure_man",
              "label": "남자",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    50,
                    55
                  ],
                  "shot_index": 2
                }
              ]
            },
            {
              "entity_token": "C09",
              "figure_id": "figure_woman",
              "label": "여자",
              "positions": [
                {
                  "moving_toward": [
                    47,
                    52
                  ],
                  "pos": [
                    50,
                    55
                  ],
                  "shot_index": 4
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "alley_area",
              "kind": "area",
              "label": "도시 뒷골목",
              "points": [
                [
                  35,
                  0
                ],
                [
                  65,
                  0
                ],
                [
                  65,
                  100
                ],
                [
                  35,
                  100
                ]
              ]
            },
            {
              "id": "utility_pole",
              "kind": "point",
              "label": "전봇대",
              "points": [
                [
                  49,
                  56
                ]
              ]
            },
            {
              "id": "streetlight",
              "kind": "point",
              "label": "가로등",
              "points": [
                [
                  50,
                  60
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "2:2": "SHOT 2 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- 도시 뒷골목 (path): runs from the far left side of the frame to the far right side of the frame.\n- 전봇대: at the near center of the frame.\n- 가로등: at the mid-distance center of the frame.\nFIGURES:\n- 남자 (C06): at the near center of the frame — NEAREST figure to the camera.",
          "2:4": "SHOT 4 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- 도시 뒷골목 (path): runs from the mid-distance right side of the frame to the far left side of the frame.\n- 전봇대: at the near center of the frame.\n- 가로등: at the near center of the frame.\nFIGURES:\n- 여자 (C09): at the near center of the frame — NEAREST figure to the camera; in motion: already partway along their path, heading toward the near center of the frame; their path follows the 도시 뒷골목."
        }
      },
      {
        "group_id": "osl-l03",
        "location_id": "L03",
        "member_shots": [
          [
            4,
            1
          ],
          [
            10,
            5
          ],
          [
            10,
            6
          ],
          [
            11,
            4
          ],
          [
            17,
            1
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                52,
                45
              ],
              "pos": [
                52,
                45
              ],
              "shot_index": 1
            },
            {
              "look_at": [
                52,
                54
              ],
              "pos": [
                52,
                57
              ],
              "shot_index": 5
            },
            {
              "look_at": [
                62,
                43
              ],
              "pos": [
                44,
                48
              ],
              "shot_index": 6
            },
            {
              "look_at": [
                52,
                55
              ],
              "pos": [
                52,
                70
              ],
              "shot_index": 4
            },
            {
              "look_at": [
                55,
                50
              ],
              "pos": [
                44,
                76
              ],
              "shot_index": 1
            }
          ],
          "figures": [
            {
              "entity_token": "C19",
              "figure_id": "figure_C19",
              "label": "인영",
              "positions": [
                {
                  "moving_toward": [
                    57,
                    46
                  ],
                  "pos": [
                    56,
                    44
                  ],
                  "shot_index": 6
                }
              ]
            },
            {
              "entity_token": "C20",
              "figure_id": "figure_C20",
              "label": "사람",
              "positions": [
                {
                  "moving_toward": [
                    57,
                    48
                  ],
                  "pos": [
                    57,
                    46
                  ],
                  "shot_index": 6
                }
              ]
            },
            {
              "entity_token": null,
              "figure_id": "figure_suriyeong",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    52,
                    70
                  ],
                  "shot_index": 4
                }
              ]
            },
            {
              "entity_token": "C11",
              "figure_id": "figure_C11",
              "label": "검은 고양이",
              "positions": [
                {
                  "moving_toward": [
                    35,
                    80
                  ],
                  "pos": [
                    40,
                    73
                  ],
                  "shot_index": 1
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "landmark_old_villa_rooftop",
              "kind": "area",
              "label": "old villa rooftop",
              "points": [
                [
                  20,
                  20
                ],
                [
                  80,
                  20
                ],
                [
                  80,
                  80
                ],
                [
                  20,
                  80
                ]
              ]
            },
            {
              "id": "landmark_rooftop_room",
              "kind": "area",
              "label": "old rooftop room exterior",
              "points": [
                [
                  42,
                  35
                ],
                [
                  62,
                  35
                ],
                [
                  62,
                  55
                ],
                [
                  42,
                  55
                ]
              ]
            },
            {
              "id": "landmark_iron_front_door",
              "kind": "point",
              "label": "rooftop room iron front door",
              "points": [
                [
                  52,
                  55
                ]
              ]
            },
            {
              "id": "landmark_window",
              "kind": "point",
              "label": "rooftop-room window",
              "points": [
                [
                  62,
                  43
                ]
              ]
            },
            {
              "id": "landmark_low_rooftop_wall",
              "kind": "line",
              "label": "low rooftop wall",
              "points": [
                [
                  18,
                  18
                ],
                [
                  82,
                  18
                ],
                [
                  82,
                  82
                ],
                [
                  18,
                  82
                ],
                [
                  18,
                  18
                ]
              ]
            },
            {
              "id": "landmark_rooftop_landing",
              "kind": "area",
              "label": "rooftop landing",
              "points": [
                [
                  47,
                  65
                ],
                [
                  57,
                  65
                ],
                [
                  57,
                  76
                ],
                [
                  47,
                  76
                ]
              ]
            },
            {
              "id": "landmark_rooftop_stairs",
              "kind": "line",
              "label": "stairs connected to rooftop room",
              "points": [
                [
                  52,
                  76
                ],
                [
                  52,
                  95
                ]
              ]
            },
            {
              "id": "landmark_water_tank",
              "kind": "area",
              "label": "water tank",
              "points": [
                [
                  28,
                  30
                ],
                [
                  36,
                  30
                ],
                [
                  36,
                  38
                ],
                [
                  28,
                  38
                ]
              ]
            },
            {
              "id": "landmark_neighboring_rooftops",
              "kind": "area",
              "label": "neighboring old villa rooftops",
              "points": [
                [
                  5,
                  5
                ],
                [
                  95,
                  5
                ],
                [
                  95,
                  95
                ],
                [
                  5,
                  95
                ]
              ]
            },
            {
              "id": "landmark_narrow_alley",
              "kind": "line",
              "label": "narrow alleys",
              "points": [
                [
                  5,
                  90
                ],
                [
                  95,
                  90
                ]
              ]
            },
            {
              "id": "landmark_courtyard",
              "kind": "area",
              "label": "villa courtyard",
              "points": [
                [
                  34,
                  82
                ],
                [
                  66,
                  82
                ],
                [
                  66,
                  98
                ],
                [
                  34,
                  98
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "4:1": "SHOT 1 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- old villa rooftop: at the near center of the frame.\n- old rooftop room exterior: at the near center of the frame.\n- rooftop room iron front door: at the near center of the frame.\n- rooftop-room window: at the near center of the frame.\n- low rooftop wall (path): runs from the mid-distance center of the frame to the mid-distance center of the frame.\n- rooftop landing: at the near center of the frame.\n- stairs connected to rooftop room (path): runs from the near center of the frame to the mid-distance center of the frame.\n- water tank: at the near center of the frame.\n- neighboring old villa rooftops: at the near center of the frame.\n- narrow alleys (path): runs from the mid-distance center of the frame to the mid-distance center of the frame.\n- villa courtyard: at the mid-distance center of the frame.\nFIGURES:\n- 검은 고양이 (C11): at the near center of the frame — NEAREST figure to the camera; in motion: already partway along their path, heading toward the mid-distance center of the frame; NOT heading into the neighboring old villa rooftops.",
          "10:6": "SHOT 6 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- old villa rooftop: at the near left side of the frame.\n- old rooftop room exterior: at the near center of the frame.\n- rooftop room iron front door: at the near left side of the frame.\n- rooftop-room window: at the mid-distance center of the frame.\n- low rooftop wall (path): runs from the far right side of the frame to the far left side of the frame.\n- rooftop landing: at the mid-distance left side of the frame.\n- stairs connected to rooftop room (path): runs from the mid-distance left side of the frame to the far left side of the frame.\n- water tank: at the mid-distance right side of the frame.\n- neighboring old villa rooftops: at the near left side of the frame.\n- narrow alleys (path): runs from the far left side of the frame to the far left side of the frame.\n- villa courtyard: at the far left side of the frame.\nFIGURES:\n- 인영 (C19): at the near center of the frame — NEAREST figure to the camera; in motion: already partway along their path, heading toward the near center of the frame; their path follows the low rooftop wall; NOT heading into the neighboring old villa rooftops.\n- 사람 (C20): at the near center of the frame; about 1.0x as far from the camera as the nearest figure, so they must appear roughly 0.96x the nearest figure's height (smaller, deeper in the frame); in motion: already partway along their path, heading toward the near left side of the frame; NOT heading into the neighboring old villa rooftops.\nDEPTH CONTRACT: 사람 is farther than 인영 and must read visibly smaller and deeper in the frame.",
          "11:4": "SHOT 4 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- old villa rooftop: at the far center of the frame.\n- old rooftop room exterior: at the far center of the frame.\n- rooftop room iron front door: at the far center of the frame.\n- rooftop-room window: at the far left side of the frame.\n- low rooftop wall (path): runs from the far left side of the frame to the far right side of the frame.\n- rooftop landing: at the near center of the frame.\n- stairs connected to rooftop room (path): runs from the far center of the frame to the far center of the frame.\n- water tank: at the far right side of the frame.\n- neighboring old villa rooftops: at the far center of the frame.\n- narrow alleys (path): runs from the far left side of the frame to the far right side of the frame.\n- villa courtyard: at the far center of the frame.\nFIGURES:\n- 수리영: at the near center of the frame — NEAREST figure to the camera.",
          "17:1": "SHOT 1 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- old villa rooftop: at the near center of the frame.\n- old rooftop room exterior: at the near center of the frame.\n- rooftop room iron front door: at the near center of the frame.\n- rooftop-room window: at the near center of the frame.\n- low rooftop wall (path): runs from the mid-distance center of the frame to the mid-distance center of the frame.\n- rooftop landing: at the near center of the frame.\n- stairs connected to rooftop room (path): runs from the near center of the frame to the mid-distance center of the frame.\n- water tank: at the near center of the frame.\n- neighboring old villa rooftops: at the near center of the frame.\n- narrow alleys (path): runs from the mid-distance center of the frame to the mid-distance center of the frame.\n- villa courtyard: at the mid-distance center of the frame.\nFIGURES:\n- 검은 고양이 (C11): at the near center of the frame — NEAREST figure to the camera; in motion: already partway along their path, heading toward the mid-distance center of the frame; NOT heading into the neighboring old villa rooftops."
        }
      },
      {
        "group_id": "osl-l05",
        "location_id": "L05",
        "member_shots": [
          [
            6,
            1
          ],
          [
            9,
            1
          ],
          [
            24,
            2
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                35,
                51
              ],
              "pos": [
                35,
                36
              ],
              "shot_index": 601
            },
            {
              "look_at": [
                55,
                51
              ],
              "pos": [
                55,
                43
              ],
              "shot_index": 901
            },
            {
              "look_at": [
                68,
                51
              ],
              "pos": [
                69.2,
                51
              ],
              "shot_index": 2402
            }
          ],
          "figures": [
            {
              "entity_token": "C01",
              "figure_id": "F01",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": [
                    80,
                    51
                  ],
                  "pos": [
                    35,
                    51
                  ],
                  "shot_index": 601
                },
                {
                  "moving_toward": [
                    88,
                    51
                  ],
                  "pos": [
                    55,
                    51
                  ],
                  "shot_index": 901
                },
                {
                  "moving_toward": [
                    92,
                    51
                  ],
                  "pos": [
                    68,
                    51
                  ],
                  "shot_index": 2402
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "L01",
              "kind": "area",
              "label": "coastal road",
              "points": [
                [
                  0,
                  44
                ],
                [
                  100,
                  44
                ],
                [
                  100,
                  58
                ],
                [
                  0,
                  58
                ]
              ]
            },
            {
              "id": "L02",
              "kind": "area",
              "label": "sea",
              "points": [
                [
                  0,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  40
                ],
                [
                  0,
                  40
                ]
              ]
            },
            {
              "id": "L03",
              "kind": "line",
              "label": "coast edge",
              "points": [
                [
                  0,
                  40
                ],
                [
                  100,
                  40
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {}
      },
      {
        "group_id": "osl-l10",
        "location_id": "L10",
        "member_shots": [
          [
            11,
            3
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                70,
                55
              ],
              "pos": [
                66,
                59
              ],
              "shot_index": 3
            }
          ],
          "figures": [
            {
              "entity_token": null,
              "figure_id": "figure_수리영",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    70,
                    55
                  ],
                  "shot_index": 3
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "lm_alley",
              "kind": "line",
              "label": "골목길",
              "points": [
                [
                  10,
                  12
                ],
                [
                  90,
                  12
                ]
              ]
            },
            {
              "id": "lm_villa_door",
              "kind": "point",
              "label": "다세대 빌라 문",
              "points": [
                [
                  50,
                  24
                ]
              ]
            },
            {
              "id": "lm_courtyard",
              "kind": "area",
              "label": "마당",
              "points": [
                [
                  30,
                  24
                ],
                [
                  75,
                  24
                ],
                [
                  75,
                  42
                ],
                [
                  30,
                  42
                ]
              ]
            },
            {
              "id": "lm_concrete_staircase",
              "kind": "line",
              "label": "옥탑방과 연결되는 계단",
              "points": [
                [
                  70,
                  38
                ],
                [
                  70,
                  78
                ]
              ]
            },
            {
              "id": "lm_rooftop_landing",
              "kind": "area",
              "label": "옥상",
              "points": [
                [
                  56,
                  78
                ],
                [
                  84,
                  78
                ],
                [
                  84,
                  94
                ],
                [
                  56,
                  94
                ]
              ]
            },
            {
              "id": "lm_iron_front_door",
              "kind": "point",
              "label": "반쯤 열린 현관 철문",
              "points": [
                [
                  70,
                  88
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "11:3": "SHOT 3 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- 골목길 (path): runs from the far right side of the frame to the far right side of the frame.\n- 다세대 빌라 문: at the far right side of the frame.\n- 마당: at the far right side of the frame.\n- 옥탑방과 연결되는 계단 (path): runs from the far left side of the frame to the far right side of the frame.\n- 옥상: at the far left side of the frame.\n- 반쯤 열린 현관 철문: at the far left side of the frame.\nFIGURES:\n- 수리영: at the near center of the frame — NEAREST figure to the camera."
        }
      },
      {
        "group_id": "osl-l11",
        "location_id": "L11",
        "member_shots": [
          [
            15,
            1
          ],
          [
            15,
            3
          ],
          [
            15,
            6
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                49,
                52
              ],
              "pos": [
                49,
                37
              ],
              "shot_index": 1
            },
            {
              "look_at": [
                48.5,
                51.5
              ],
              "pos": [
                50,
                49
              ],
              "shot_index": 3
            },
            {
              "look_at": [
                52,
                55
              ],
              "pos": [
                70,
                62
              ],
              "shot_index": 6
            }
          ],
          "figures": [
            {
              "entity_token": "C01",
              "figure_id": "fig_suriyeong",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    49,
                    52
                  ],
                  "shot_index": 1
                },
                {
                  "moving_toward": null,
                  "pos": [
                    49,
                    52
                  ],
                  "shot_index": 3
                },
                {
                  "moving_toward": [
                    100,
                    66
                  ],
                  "pos": [
                    93,
                    64
                  ],
                  "shot_index": 6
                }
              ]
            },
            {
              "entity_token": "C02",
              "figure_id": "fig_hyesu",
              "label": "혜수",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    46.5,
                    50.5
                  ],
                  "shot_index": 3
                },
                {
                  "moving_toward": null,
                  "pos": [
                    54,
                    57
                  ],
                  "shot_index": 6
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "lm_sea",
              "kind": "area",
              "label": "dark night sea",
              "points": [
                [
                  0,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  34
                ],
                [
                  0,
                  34
                ]
              ]
            },
            {
              "id": "lm_shoreline",
              "kind": "line",
              "label": "coastline",
              "points": [
                [
                  0,
                  35
                ],
                [
                  100,
                  35
                ]
              ]
            },
            {
              "id": "lm_coastal_road",
              "kind": "area",
              "label": "coastal road",
              "points": [
                [
                  0,
                  57
                ],
                [
                  100,
                  57
                ],
                [
                  100,
                  70
                ],
                [
                  0,
                  70
                ]
              ]
            },
            {
              "id": "lm_bus_stop_shelter",
              "kind": "area",
              "label": "bus stop shelter",
              "points": [
                [
                  43,
                  47
                ],
                [
                  57,
                  47
                ],
                [
                  57,
                  57
                ],
                [
                  43,
                  57
                ]
              ]
            },
            {
              "id": "lm_bus_stop_bench",
              "kind": "line",
              "label": "bus stop bench",
              "points": [
                [
                  46,
                  52
                ],
                [
                  54,
                  52
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "15:1": "SHOT 1 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- dark night sea (path): runs from the far right side of the frame to the far left side of the frame.\n- coastline (path): runs from the far left side of the frame to the far right side of the frame.\n- coastal road (path): runs from the far left side of the frame to the far right side of the frame.\n- bus stop shelter: at the near center of the frame.\n- bus stop bench (path): runs from the near center of the frame to the near right side of the frame.\nFIGURES:\n- 수리영 (C01): at the near center of the frame — NEAREST figure to the camera.",
          "15:3": "SHOT 3 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- dark night sea (path): runs from the far right side of the frame to the far left side of the frame.\n- coastline (path): runs from the far left side of the frame to the far right side of the frame.\n- coastal road (path): runs from the far left side of the frame to the far right side of the frame.\n- bus stop shelter: at the near right side of the frame.\n- bus stop bench (path): runs from the mid-distance left side of the frame to the mid-distance right side of the frame.\nFIGURES:\n- 수리영 (C01): at the near right side of the frame — NEAREST figure to the camera.\n- 혜수 (C02): at the mid-distance left side of the frame; about 1.2x as far from the camera as the nearest figure, so they must appear roughly 0.83x the nearest figure's height (smaller, deeper in the frame).\nDEPTH CONTRACT: 혜수 is farther than 수리영 and must read visibly smaller and deeper in the frame.",
          "15:6": "SHOT 6 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- dark night sea (path): runs from the mid-distance left side of the frame to the far left side of the frame.\n- coastline (path): runs from the mid-distance left side of the frame to the far center of the frame.\n- coastal road (path): runs from the mid-distance center of the frame to the far right side of the frame.\n- bus stop shelter: at the mid-distance center of the frame.\n- bus stop bench (path): runs from the near center of the frame to the mid-distance center of the frame.\nFIGURES:\n- 혜수 (C02): at the near center of the frame — NEAREST figure to the camera.\n- 수리영 (C01): at the mid-distance left side of the frame; about 1.4x as far from the camera as the nearest figure, so they must appear roughly 0.73x the nearest figure's height (smaller, deeper in the frame); in motion: already partway along their path, heading toward the mid-distance left side of the frame; their path follows the coastal road; moving away from 혜수; NOT heading into the dark night sea.\nDEPTH CONTRACT: 수리영 is farther than 혜수 and must read visibly smaller and deeper in the frame."
        }
      },
      {
        "group_id": "osl-l13",
        "location_id": "L13",
        "member_shots": [
          [
            22,
            1
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                48,
                38
              ],
              "pos": [
                50,
                88
              ],
              "shot_index": 1
            }
          ],
          "figures": [
            {
              "entity_token": null,
              "figure_id": "figure_수리영",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    42,
                    55
                  ],
                  "shot_index": 1
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "landmark_police_station_exterior",
              "kind": "area",
              "label": "police station exterior",
              "points": [
                [
                  15,
                  5
                ],
                [
                  85,
                  5
                ],
                [
                  85,
                  22
                ],
                [
                  15,
                  22
                ]
              ]
            },
            {
              "id": "landmark_station_glass_entrance_doors",
              "kind": "area",
              "label": "station glass entrance doors",
              "points": [
                [
                  45,
                  14
                ],
                [
                  57,
                  14
                ],
                [
                  57,
                  22
                ],
                [
                  45,
                  22
                ]
              ]
            },
            {
              "id": "landmark_wet_forecourt_pavement",
              "kind": "area",
              "label": "wet forecourt pavement",
              "points": [
                [
                  10,
                  22
                ],
                [
                  90,
                  22
                ],
                [
                  95,
                  70
                ],
                [
                  5,
                  70
                ]
              ]
            },
            {
              "id": "landmark_curb_line",
              "kind": "line",
              "label": "curb line",
              "points": [
                [
                  7,
                  70
                ],
                [
                  94,
                  66
                ]
              ]
            },
            {
              "id": "landmark_sidewalk",
              "kind": "area",
              "label": "sidewalk",
              "points": [
                [
                  0,
                  70
                ],
                [
                  100,
                  66
                ],
                [
                  100,
                  100
                ],
                [
                  0,
                  100
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "22:1": "SHOT 1 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- police station exterior (path): runs from the mid-distance left side of the frame to the far right side of the frame.\n- station glass entrance doors: at the mid-distance center of the frame.\n- wet forecourt pavement: at the mid-distance center of the frame.\n- curb line (path): runs from the mid-distance right side of the frame to the mid-distance left side of the frame.\n- sidewalk (path): runs from the mid-distance right side of the frame to the mid-distance left side of the frame.\nFIGURES:\n- 수리영: at the near center of the frame — NEAREST figure to the camera."
        }
      },
      {
        "group_id": "osl-l16",
        "location_id": "L16",
        "member_shots": [
          [
            26,
            1
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                56,
                85
              ],
              "pos": [
                30,
                10
              ],
              "shot_index": 1
            }
          ],
          "figures": [
            {
              "entity_token": "C01",
              "figure_id": "figure_수리영",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    72,
                    55
                  ],
                  "shot_index": 1
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "landmark_wet_quay",
              "kind": "area",
              "label": "wet quay",
              "points": [
                [
                  5,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  56
                ],
                [
                  72,
                  55
                ],
                [
                  45,
                  52
                ],
                [
                  15,
                  58
                ],
                [
                  5,
                  52
                ]
              ]
            },
            {
              "id": "landmark_shoreline_rocks",
              "kind": "area",
              "label": "shoreline rocks",
              "points": [
                [
                  15,
                  54
                ],
                [
                  45,
                  49
                ],
                [
                  72,
                  51
                ],
                [
                  94,
                  55
                ],
                [
                  96,
                  66
                ],
                [
                  72,
                  62
                ],
                [
                  45,
                  59
                ],
                [
                  16,
                  65
                ]
              ]
            },
            {
              "id": "landmark_fog_covered_sea",
              "kind": "area",
              "label": "fog-covered sea",
              "points": [
                [
                  0,
                  62
                ],
                [
                  16,
                  65
                ],
                [
                  45,
                  59
                ],
                [
                  72,
                  62
                ],
                [
                  96,
                  66
                ],
                [
                  100,
                  64
                ],
                [
                  100,
                  100
                ],
                [
                  0,
                  100
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "26:1": "SHOT 1 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- wet quay: at the near right side of the frame.\n- shoreline rocks (path): runs from the near left side of the frame to the mid-distance right side of the frame.\n- fog-covered sea (path): runs from the near left side of the frame to the mid-distance right side of the frame.\nFIGURES:\n- 수리영 (C01): at the near right side of the frame — NEAREST figure to the camera."
        }
      }
    ],
    "prompt_overrides": {
      "1:1": {
        "location_id": "L01",
        "group_id": "osl-l01",
        "revised": {
          "0": "Photorealistic cinematic still. C07O09 in casual wear, an Asian middle-aged man, appears as a fleeing figure on the right side of the midground, already partway along the forest path as it leads toward the far left side of the frame, following the path away from the near right side rather than toward the right side of the path. He is captured from a lateral shoulder-height observer angle in left profile, frozen mid-stride tearing through the dense brush. One bare foot is lifted off the slick, dark forest floor, while his other thigh prominently bears a massive, severe bite mark. Restrained crimson blood flows continuously from the jagged wound, trailing backward into the tracking blur opposite to the direction of his motion. He maintains a visibly wounded, pained expression, looking off-screen with sheer panic. The environment is heavily enveloped in a cold blue-gray fog at dusk, dominated by deep blue shadows. Thin wet trunks and thick muted green foliage whip past the lens, while sickly amber highlights filter through the thick canopy to catch on the damp leaves."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "318c3eb2a75f7a9f",
            "revised_prompt_hash": "484511c00bc436a6"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "in the middle-center midground, moving toward the right side of the forest path",
              "revised": "on the right side of the midground, already partway along the forest path as it leads toward the far left side of the frame, following the path away from the near right side rather than toward the right side of the path"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "1:3": {
        "location_id": "L01",
        "group_id": "osl-l01",
        "revised": {
          "0": "Photorealistic cinematic still. At chest height, tilting sharply upward, capturing a forceful mid-impact collision. The police line runs from the mid-distance center to the far center of the frame, with woods and dense undergrowth at mid-distance left and the crime scene near center. C07O09 in a casual jacket, a Korean adult man with an ordinary face and natural dark hair, is positioned in the near center of the frame, at a three-quarter angle viewed from the right, set a little deeper and visibly smaller, his arched torso and thigh occupying the lower center of the frame. He is bending backward forcefully on impact, receiving the sudden force with a visibly pained expression, eyes fixed on the attacker. C07O09 bears a massive, severe bite mark prominently located on his thigh, restrained but visible crimson blood flowing continuously from the jagged wound, standing out vividly against the cool dark tones of his surroundings. C06O08 in dark workwear, a Korean adult man with dark short hair, is already partway along its path from the mid-distance left toward the near center, not into the woods, as a smaller, deeper airborne backlit figure, body volume preserved against the fog, rim light tracing his shoulders, applying decisive downward force, looking off-screen. The composition compresses both upper bodies at the contact point on the chest, lower legs implied beyond the frame edges. The scene is set in a dense, dark forest at dusk, heavily enveloped in a cold blue-gray fog. Deep blue shadows dominate the surroundings, contrasted by faint, sickly amber highlights catching wet leaves. Blurred dark overhanging branches slash across the upper frame, making the descending shape feel partially hidden. The dim, muddy leaf-covered forest floor drops away behind them, increasing the sense of being driven backward. Shadowed tree trunks form broken vertical bars in the background, their thin side faces and dark vertical edges angled toward the camera, creating a chilling and isolated atmosphere."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "978ecc7b381a72d5",
            "revised_prompt_hash": "dfdab7271b034ce1"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "C07O09 in a casual jacket, a Korean adult man with an ordinary face and natural dark hair, is positioned at a three-quarter angle from the right, his arched torso and thigh occupying the lower center and right of the frame.",
              "revised": "C07O09 in a casual jacket, a Korean adult man with an ordinary face and natural dark hair, is positioned in the near center of the frame, at a three-quarter angle viewed from the right, set a little deeper and visibly smaller, his arched torso and thigh occupying the lower center of the frame."
            },
            {
              "original": "C06O08 in dark workwear, a Korean adult man with dark short hair, crashes down from the upper left as an airborne backlit figure",
              "revised": "C06O08 in dark workwear, a Korean adult man with dark short hair, is already partway along its path from the mid-distance left toward the near center, not into the woods, as a smaller, deeper airborne backlit figure"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "3:3": {
        "location_id": "L01",
        "group_id": "osl-l01",
        "revised": {
          "0": "Photorealistic cinematic still. The police line runs from the mid-distance center to the far center, with the crime scene near center and the woods and dense undergrowth at mid-distance left. C02O03 in a dark detective jacket, a Korean middle-aged woman with mature facial features and dark natural hair, stands at a three-quarter angle from the right as Hyesu on the mid-distance left side, visibly smaller and deeper in the frame, pointing toward the forensic spot inside the near-center crime scene. Seen through a local news-camera image at chest height inside the police perimeter, the viewpoint is positioned slightly off-center to the side of the pointing arm. Her upper torso appears smaller on the left side of the view, her extended finger cutting toward the right edge, her gaze looking off-screen with a sharp, tense expression. At the near center, blurred figures of unnamed detectives form a tense, out-of-focus wall sharing the same muddy clearing, acting as a dark human backdrop, while smaller, deeper figures continue into the mid-distance center and left. [L01: The muddy, disturbed forest ground, partially covered with debris] anchors the area she gestures toward. A stretched, slightly twisted, damp police line tape borders the area, its printed warning side facing partly toward the camera and readable in fragments along the frame edge. Flat daylight is dirtied with broadcast compression, damp gray shadows, and muted yellow police-site highlights, preserving a documentary unease."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "d4d3348c15449f0d",
            "revised_prompt_hash": "0f91d843b087e9ad"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "",
              "revised": "The police line runs from the mid-distance center to the far center, with the crime scene near center and the woods and dense undergrowth at mid-distance left."
            },
            {
              "original": "stands at a three-quarter angle from the right as Hyesu pointing in the middle-center midground, pointing toward the forensic spot inside the crime scene in the middle-right background.",
              "revised": "stands at a three-quarter angle from the right as Hyesu on the mid-distance left side, visibly smaller and deeper in the frame, pointing toward the forensic spot inside the near-center crime scene."
            },
            {
              "original": "Her upper torso occupies the center of the view",
              "revised": "Her upper torso appears smaller on the left side of the view"
            },
            {
              "original": "Behind her, blurred figures of unnamed detectives form a tense, out-of-focus wall sharing the same muddy clearing, acting as a dark human backdrop.",
              "revised": "At the near center, blurred figures of unnamed detectives form a tense, out-of-focus wall sharing the same muddy clearing, acting as a dark human backdrop, while smaller, deeper figures continue into the mid-distance center and left."
            }
          ]
        },
        "no_edit_reason": {}
      },
      "2:4": {
        "location_id": "L02",
        "group_id": "osl-l02",
        "revised": {
          "0": "Photorealistic cinematic still. The collapsing woman, a severely injured Korean adult woman in a dark street jacket with natural dark hair and an adult female face with indistinct facial details, is captured at the near center of the frame, already partway along the city back-alley path from the mid-distance right side, following the alley toward the near center rather than into the far-left side, while moving toward the wet alley floor below her in the lower-center foreground. At a three-quarter angle from the left, she is frozen mid-fall, folding diagonally downward with her upper body buckling and arms hanging limp. Looking down, her figure is half-swallowed by the grim shadow. Behind her, a dark, damp city alleyway is engulfed in cold blue-gray shadows, anchored by an old, stained utility pole. A dim, sickly amber streetlight casts a weak directional glow from above, creating a warm eerie pool around the pole's base. The slick pavement of the wet alley floor catches the weak light, where the surface reflects broken amber streetlight and the falling body as smeared dark shapes, while dirty trash and a damp stained wall bracket the background edges."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "804436501e6cfee1",
            "revised_prompt_hash": "80fbbc56c258e2c5"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "is captured in the middle-center midground, moving toward the wet alley floor below her in the lower-center foreground.",
              "revised": "is captured at the near center of the frame, already partway along the city back-alley path from the mid-distance right side, following the alley toward the near center rather than into the far-left side, while moving toward the wet alley floor below her in the lower-center foreground."
            }
          ]
        },
        "no_edit_reason": {}
      },
      "10:6": {
        "location_id": "L03",
        "group_id": "osl-l03",
        "revised": {
          "0": "Photorealistic cinematic still. Captured at shoulder height beside a rough, stained dark side wall, a window reflection containing silhouettes is positioned in the middle-center midground. Framed by an old, chipped window, the glass reveals a warped reflection of a bent Korean adult man in three-quarter left angle, hunched over the shoulder of a Korean middle-aged woman set slightly deeper at near center and visibly a little smaller, in left profile, already partway along her path toward the near-left side, not heading into the neighboring old villa rooftops. The woman buckles under the lunge, visibly wounded with a pained expression, her eyes looking off-screen, while the man lowers his head toward her shoulder. The scene is enveloped in a deep, almost monochrome blue-black ambient darkness, broken by a weak sickly amber practical smear that trembles across the glass, casting a restrained crimson-brown shadow at the shoulder line."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "f89c127f4e403768",
            "revised_prompt_hash": "8acd402dd90379df"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "a Korean middle-aged woman in left profile",
              "revised": "a Korean middle-aged woman set slightly deeper at near center and visibly a little smaller, in left profile, already partway along her path toward the near-left side, not heading into the neighboring old villa rooftops"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "17:1": {
        "location_id": "L03",
        "group_id": "osl-l03",
        "revised": {
          "0": "Photorealistic cinematic still. Focusing on the pre-existing black cat in the lower-center foreground, already partway along the rooftop path that heads toward the mid-distance center of the frame and not into the neighboring old villa rooftops in left profile as it looks up toward the lit rooftop window in the upper-right background. The low camera at the cat's shoulder height captures its silhouette with faint rim-lit edges preserving body volume against the cool blue ambient fill. Thick dawn fog desaturates the damp concrete parapet running parallel behind the cat. The sickly yellow glow from the window hangs in the misty distance, creating a faint occult point of warmth near the rooftop room."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "63099e687428386d",
            "revised_prompt_hash": "dfc471a93b1639fa"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "in the lower-left foreground",
              "revised": "in the lower-center foreground, already partway along the rooftop path that heads toward the mid-distance center of the frame and not into the neighboring old villa rooftops"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "15:1": {
        "location_id": "L11",
        "group_id": "osl-l11",
        "revised": {
          "0": "Photorealistic cinematic still. A wide, voyeuristic chest-height shot from the seaward side of a coastal bus stop, framing the scene with heavy negative space. C01O01 in a casual jacket, a Korean young woman in her early 20s with an oval face and natural black long hair, sits small in left profile near the center along the lower third of the frame. She is slumped on the wet edge of the long bench, gazing into the distance. The damp, empty bus stop shelter faces the camera in profile, anchoring her figure against its wet posts. The vast pitch-black night sea and drifting blue-gray coastal fog occupy the deep background, flattening the horizon. Cold marine blue-gray ambient light dominates the atmosphere, while a weak sodium-amber glow from the shelter casts a dull, localized warmth on the bench, isolating the figure in the dark environment."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "d6ae687a7e99ca92",
            "revised_prompt_hash": "26a1bd496052c5dc"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "sits small in left profile along the lower third of the frame",
              "revised": "sits small in left profile near the center along the lower third of the frame"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "15:3": {
        "location_id": "L11",
        "group_id": "osl-l11",
        "revised": {
          "0": "Photorealistic cinematic still. At a coastal bus stop enveloped in thick, damp sea-blue fog, an insert close-up at a low observer angle captures the space beside a wet wooden bench at hand height. C02 in a detective coat, a Korean middle-aged woman with dark natural hair, is set at the mid-distance left, visibly smaller and deeper in the frame at a three-quarter angle, with her arm reaching along the bench into the center, her hand holding out a cold metal drink can. The cylindrical side of the can faces the camera. Across the shared bench, the lap and hands resting on the knees of a young Korean woman seated in profile right are partially visible at the right frame edge. A dull sodium-amber shelter light skims the metal can, contrasting with the pervasive cold marine blue-gray tone that desaturates the hands in the tense, damp stillness."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "156b9db33f7c10d5",
            "revised_prompt_hash": "3df430a10830ef80"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "C02 in a detective coat, a Korean middle-aged woman with dark natural hair, has her arm reaching into the center foreground from the three-quarter left, her hand holding out a cold metal drink can.",
              "revised": "C02 in a detective coat, a Korean middle-aged woman with dark natural hair, is set at the mid-distance left, visibly smaller and deeper in the frame at a three-quarter angle, with her arm reaching along the bench into the center, her hand holding out a cold metal drink can."
            },
            {
              "original": "at the frame edge",
              "revised": "at the right frame edge"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "15:6": {
        "location_id": "L11",
        "group_id": "osl-l11",
        "revised": {
          "0": "Photorealistic cinematic still. C02O03 in a dark detective coat, a Korean middle-aged woman with dark natural hair and mature facial features, is positioned near center in the foreground in an upper-body medium frame. Captured from a chest-high observer perspective, her torso and head are visible while her lower body extends beyond the bottom edge. She stands at a three-quarter angle from the left, cupping her hands around her mouth. Her gaze is fixed off-screen toward the unseen misty road. A weak amber roadside practical light grazes her cheek and hands against the pervasive cold marine blue-gray tone of the damp night. In the soft-blurred background, the coastal bus stop shelter stands obliquely, its empty bench swallowed by thick sea fog, while the wet coastal road and pitch-black ocean recede into the chilling night haze."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "edd4750192f24b6e",
            "revised_prompt_hash": "5b82ffb1618e6bb8"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "slightly right of center in the foreground",
              "revised": "near center in the foreground"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "22:1": {
        "location_id": "L13",
        "group_id": "osl-l13",
        "revised": {
          "0": "Photorealistic cinematic still. From sidewalk eye height across the forecourt, the wide frame captures C01O01 in a casual jacket, a Korean young woman in her early 20s, on the existing bicycle near center. C01O01 is seen at a three-quarter angle from the left, seated on the saddle of the bicycle, torso angled forward in a poised instant before departure, one foot planted on a downward pedal and the other ready to push off, eyes looking off-screen. She is positioned on the bicycle which is resting on the existing wet sidewalk. [L13B01: damp overcast police station exterior, dull official-looking building with clouded glass entrance doors, the curb line receding behind]. A flat overcast wash cools the scene into muted blue-gray, with weak amber interior light leaking from the station doors, focusing on the poised physical tension of the subject before movement."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "0c927fa3fb5eafba",
            "revised_prompt_hash": "1246cd49a957f7dc"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "on the existing bicycle slightly left of center",
              "revised": "on the existing bicycle near center"
            }
          ]
        },
        "no_edit_reason": {}
      }
    },
    "diagnostics": {
      "outdoor_location_count": 12,
      "seed_group_count": 10,
      "groups_extracted": 8,
      "skipped": [
        {
          "shot": "S13sh3",
          "reason": "zoom_continuity_member"
        },
        {
          "shot": "S13sh5",
          "reason": "zoom_continuity_member"
        },
        {
          "shot": "S19sh4",
          "reason": "zoom_continuity_member"
        },
        {
          "shot": "S19sh5",
          "reason": "zoom_continuity_member"
        },
        {
          "shot": "S26sh3",
          "reason": "zoom_continuity_member"
        },
        {
          "shot": "S26sh5",
          "reason": "zoom_continuity_member"
        },
        {
          "seed": "location:L17",
          "reason": "cap"
        },
        {
          "seed": "location:L18",
          "reason": "cap"
        }
      ],
      "layout_shape_violations": [],
      "layout_side_conflicts": [],
      "spatial_summary_skipped": [
        {
          "shot": "S10sh5",
          "reason": "no_spatial_summary"
        },
        {
          "shot": "L05:sh1",
          "reason": "camera_missing_in_layout"
        },
        {
          "shot": "L05:sh2",
          "reason": "camera_missing_in_layout"
        },
        {
          "shot": "S6sh1",
          "reason": "no_spatial_summary"
        },
        {
          "shot": "S9sh1",
          "reason": "no_spatial_summary"
        },
        {
          "shot": "S24sh2",
          "reason": "no_spatial_summary"
        }
      ],
      "rewrite_failed": [],
      "revised_prompt_audit_violations": [],
      "zoom_member_exclusion_source": "shot_dependency_t2i",
      "composition_guide_failed": [],
      "composition_guide_candidate_skipped": [
        {
          "group": "osl-shared-l02-s2",
          "shot": "S2sh2",
          "reason": "pose_brief_unusable_fail_closed"
        },
        {
          "group": "osl-single-l03-s4-sh1",
          "shot": "S4sh1",
          "reason": "pose_brief_unusable_fail_closed"
        },
        {
          "group": "osl-single-l03-s10-sh6",
          "shot": "S10sh6",
          "reason": "optical_composition_risk"
        },
        {
          "group": "osl-single-l03-s11-sh4",
          "shot": "S11sh4",
          "reason": "pose_brief_unusable_fail_closed"
        },
        {
          "group": "osl-single-l03-s17-sh1",
          "shot": "S17sh1",
          "reason": "pose_brief_unusable_fail_closed"
        },
        {
          "group": "osl-single-l10-s11-sh3",
          "reason": "judge_no_need",
          "confidence": "high"
        }
      ],
      "composition_guide_count": 8,
      "seed_prefilter_meta": {
        "1:1": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L01",
          "figure_count": 1,
          "framing_scale": "wide",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "1:3": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "frame_visible",
          "location_id": "L01",
          "figure_count": 2,
          "framing_scale": "medium",
          "character_angle_count": 2,
          "frame_spatial_contract_present": false,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "gaze_direction"
          ]
        },
        "2:2": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L02",
          "figure_count": 1,
          "framing_scale": "close",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "2:4": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L02",
          "figure_count": 1,
          "framing_scale": "wide",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "3:3": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L01",
          "figure_count": 1,
          "framing_scale": "medium",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "4:1": {
          "why_candidate": "single_shot_outdoor_no_figure",
          "location_source": "frame_visible",
          "location_id": "L03",
          "figure_count": 0,
          "framing_scale": "wide",
          "character_angle_count": 0,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "frame_spatial_contract"
          ]
        },
        "6:1": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L05",
          "figure_count": 1,
          "framing_scale": "wide",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "9:1": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L05",
          "figure_count": 1,
          "framing_scale": "medium",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "10:5": {
          "why_candidate": "single_shot_outdoor_no_figure",
          "location_source": "frame_visible",
          "location_id": "L03",
          "figure_count": 0,
          "framing_scale": "insert",
          "character_angle_count": 0,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "frame_spatial_contract"
          ]
        },
        "10:6": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "primary_location",
          "location_id": "L03",
          "figure_count": 2,
          "framing_scale": "medium",
          "character_angle_count": 2,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "11:3": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L10",
          "figure_count": 1,
          "framing_scale": "close",
          "character_angle_count": 1,
          "frame_spatial_contract_present": false,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "gaze_direction"
          ]
        },
        "11:4": {
          "why_candidate": "single_shot_outdoor_no_figure",
          "location_source": "frame_visible",
          "location_id": "L03",
          "figure_count": 0,
          "framing_scale": "wide",
          "character_angle_count": 0,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "frame_spatial_contract"
          ]
        },
        "15:1": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L11",
          "figure_count": 1,
          "framing_scale": "wide",
          "character_angle_count": 1,
          "frame_spatial_contract_present": false,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "gaze_direction"
          ]
        },
        "15:3": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "primary_location",
          "location_id": "L11",
          "figure_count": 2,
          "framing_scale": "insert",
          "character_angle_count": 2,
          "frame_spatial_contract_present": false,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "gaze_direction"
          ]
        },
        "15:6": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L11",
          "figure_count": 1,
          "framing_scale": "medium",
          "character_angle_count": 1,
          "frame_spatial_contract_present": false,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "gaze_direction"
          ]
        },
        "17:1": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L03",
          "figure_count": 1,
          "framing_scale": "medium",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "22:1": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L13",
          "figure_count": 1,
          "framing_scale": "wide",
          "character_angle_count": 1,
          "frame_spatial_contract_present": false,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "gaze_direction"
          ]
        },
        "24:2": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L05",
          "figure_count": 1,
          "framing_scale": "close",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "26:1": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L16",
          "figure_count": 1,
          "framing_scale": "wide",
          "character_angle_count": 1,
          "frame_spatial_contract_present": false,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "gaze_direction"
          ]
        },
        "28:5": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L17",
          "figure_count": 1,
          "framing_scale": "close",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "28:7": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L17",
          "figure_count": 1,
          "framing_scale": "medium",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "30:3": {
          "why_candidate": "single_shot_outdoor_no_figure",
          "location_source": "frame_visible",
          "location_id": "L18",
          "figure_count": 0,
          "framing_scale": "wide",
          "character_angle_count": 0,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "frame_spatial_contract"
          ]
        }
      },
      "single_shot_seed_lane_enabled": true,
      "composition_guide_shared_model_enabled": true,
      "shared_model_judge_enabled": true,
      "shared_model_candidate_signals": [
        {
          "group_id": "osl-shared-l01-s1",
          "location_id": "L01",
          "scene_index": 1,
          "member_shots": [
            "S1sh1",
            "S1sh3"
          ],
          "cameras_non_identical": true,
          "landmark_count": 4,
          "per_shot_signals": {
            "1:1": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": true
            },
            "1:3": {
              "entity_count_bucket": "multiple",
              "entity_count": 6,
              "depth_planes": 3,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-single-l01-s3-sh3",
          "location_id": "L01",
          "scene_index": 3,
          "member_shots": [
            "S3sh3"
          ],
          "cameras_non_identical": false,
          "landmark_count": 4,
          "per_shot_signals": {
            "3:3": {
              "entity_count_bucket": "multiple",
              "entity_count": 6,
              "depth_planes": 3,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-shared-l02-s2",
          "location_id": "L02",
          "scene_index": 2,
          "member_shots": [
            "S2sh2",
            "S2sh4"
          ],
          "cameras_non_identical": true,
          "landmark_count": 3,
          "per_shot_signals": {
            "2:2": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            },
            "2:4": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-single-l03-s4-sh1",
          "location_id": "L03",
          "scene_index": 4,
          "member_shots": [
            "S4sh1"
          ],
          "cameras_non_identical": false,
          "landmark_count": 11,
          "per_shot_signals": {
            "4:1": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 0,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-single-l03-s10-sh6",
          "location_id": "L03",
          "scene_index": 10,
          "member_shots": [
            "S10sh6"
          ],
          "cameras_non_identical": false,
          "landmark_count": 11,
          "per_shot_signals": {
            "10:6": {
              "entity_count_bucket": "multiple",
              "entity_count": 2,
              "depth_planes": 2,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-single-l03-s11-sh4",
          "location_id": "L03",
          "scene_index": 11,
          "member_shots": [
            "S11sh4"
          ],
          "cameras_non_identical": false,
          "landmark_count": 11,
          "per_shot_signals": {
            "11:4": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 0,
              "has_motion": false
            }
          }
        },
        {
          "group_id": "osl-single-l03-s17-sh1",
          "location_id": "L03",
          "scene_index": 17,
          "member_shots": [
            "S17sh1"
          ],
          "cameras_non_identical": false,
          "landmark_count": 11,
          "per_shot_signals": {
            "17:1": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 0,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-single-l10-s11-sh3",
          "location_id": "L10",
          "scene_index": 11,
          "member_shots": [
            "S11sh3"
          ],
          "cameras_non_identical": false,
          "landmark_count": 6,
          "per_shot_signals": {
            "11:3": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            }
          }
        },
        {
          "group_id": "osl-shared-l11-s15",
          "location_id": "L11",
          "scene_index": 15,
          "member_shots": [
            "S15sh1",
            "S15sh3",
            "S15sh6"
          ],
          "cameras_non_identical": true,
          "landmark_count": 5,
          "per_shot_signals": {
            "15:1": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            },
            "15:3": {
              "entity_count_bucket": "multiple",
              "entity_count": 2,
              "depth_planes": 1,
              "has_motion": false
            },
            "15:6": {
              "entity_count_bucket": "multiple",
              "entity_count": 2,
              "depth_planes": 1,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-single-l13-s22-sh1",
          "location_id": "L13",
          "scene_index": 22,
          "member_shots": [
            "S22sh1"
          ],
          "cameras_non_identical": false,
          "landmark_count": 5,
          "per_shot_signals": {
            "22:1": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            }
          }
        },
        {
          "group_id": "osl-single-l16-s26-sh1",
          "location_id": "L16",
          "scene_index": 26,
          "member_shots": [
            "S26sh1"
          ],
          "cameras_non_identical": false,
          "landmark_count": 3,
          "per_shot_signals": {
            "26:1": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            }
          }
        }
      ],
      "shared_model_judge_decisions": [
        {
          "group_id": "osl-shared-l01-s1",
          "needs_shared_model_guide": true,
          "decision_type": "both",
          "confidence": "high",
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "depth_layering",
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "1:1",
              "source_field": "camera_direction",
              "quote": "moving at shoulder height about twelve feet to the man’s left, held slightly wider to keep his full body in profile"
            },
            {
              "shot_key": "1:3",
              "source_field": "camera_direction",
              "quote": "tilts more sharply upward as the impact enters from above. The man’s arched torso occupies the lower center and right of frame, while the airborne black silhouette crashes down from the upper left"
            }
          ],
          "guide_scope": "group",
          "risk_notes": "The shots share the same outdoor location (woods, crime scene) viewed from different angles (profile vs three-quarter front tilting upward), requiring cross-shot continuity. Shot 1:3 also features complex framing with an upward tilt, multiple figures across depth planes, and an airborne figure, justifying single-shot complexity.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l01-s3-sh3",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "depth_layering",
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "3:3",
              "source_field": "camera_direction",
              "quote": "Hyesu’s upper torso occupies the center, her extended finger cuts toward the right edge, and blurred detectives form a tense wall behind her."
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The shot features multiple figures arranged across distinct depth planes with specific framing constraints, warranting a single-shot layout guide to ensure correct placement and depth.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-shared-l02-s2",
          "needs_shared_model_guide": true,
          "decision_type": "both",
          "confidence": "high",
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "2:2",
              "source_field": "camera_view_brief",
              "quote": "- 도시 뒷골목: in the foreground, near centre of frame (recedes into the distance, a strong near-to-far perspective line).\n- 전봇대: in the midground, near centre of frame."
            },
            {
              "shot_key": "2:4",
              "source_field": "camera_view_brief",
              "quote": "- 도시 뒷골목: in the foreground, toward the right of frame (runs diagonally across the frame).\n- 전봇대: in the midground, near centre of frame."
            },
            {
              "shot_key": "2:4",
              "source_field": "camera_direction",
              "quote": "She folds diagonally from upper left toward the wet lower center of frame, the alley floor visible beneath her so the fall feels heavy and final."
            }
          ],
          "guide_scope": "group",
          "risk_notes": "Both shots take place in the exact same alleyway location featuring the same utility pole and streetlight, but are captured from different framing scales (close vs. wide) and angles, requiring a cross-shot guide to maintain structural continuity. Additionally, shot 2:4 involves a complex diagonal collapse toward the ground plane, presenting a high framing risk that warrants a layout sketch to ensure the figure's spatial relationship with the wet alley floor is rendered correctly.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l03-s4-sh1",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "4:1",
              "source_field": "camera_direction",
              "quote": "An omniscient overhead camera holds from about forty-five meters above"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The extreme overhead viewpoint from forty-five meters above creates a high risk of spatial ambiguity and structural distortion in an unguided render, warranting a layout sketch to ensure the rooftop room and surrounding structures read correctly.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l03-s10-sh6",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "depth_layering",
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "10:6",
              "source_field": "camera_direction",
              "quote": "angled so only the window glass carries the action as a reflection"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The shot features multiple figures and depth planes, which would normally warrant a layout guide. However, the action is framed entirely as a reflection in window glass. Mannequin sketches struggle with reflected or transmitted images, so this shot is flagged as an optical risk and will be excluded from the sketch generation.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l03-s11-sh4",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "11:4",
              "source_field": "camera_direction",
              "quote": "facing the iron front door squarely. The half-open door is held in rigid symmetry at the center of the frame"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The shot requires a specific, symmetrical architectural framing of the door head-on, which an unguided render might misalign.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l03-s17-sh1",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "17:1",
              "source_field": "camera_direction",
              "quote": "Low at the 검은 고양이’s shoulder height, roughly one meter away, the camera tracks parallel along the rooftop wall"
            },
            {
              "shot_key": "17:1",
              "source_field": "camera_direction",
              "quote": "window hangs in the misty background line of sight above the wall"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The low angle tracking shot along a wall with a specific background target requires a layout guide to maintain the spatial relationship between the subject, the wall, and the background window.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l10-s11-sh3",
          "needs_shared_model_guide": false,
          "decision_type": "no_guide",
          "confidence": "high",
          "reasons": [
            "insufficient_evidence"
          ],
          "evidence": [
            {
              "shot_key": "11:3",
              "source_field": "camera_direction",
              "quote": "tightening into an intense close-up that leaves only a sliver of stair texture behind her"
            }
          ],
          "guide_scope": "none",
          "risk_notes": "The shot is a standard close-up with no complex spatial relationships, extreme angles, or depth layering that would require a layout guide. A single render should handle this unaided.",
          "admit": false,
          "deny_reason": "judge_no_need"
        },
        {
          "group_id": "osl-shared-l11-s15",
          "needs_shared_model_guide": true,
          "decision_type": "cross_shot_continuity",
          "confidence": "high",
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "figure_placement_continuity"
          ],
          "evidence": [
            {
              "shot_key": "15:1",
              "source_field": "camera_direction",
              "quote": "From the seaward side of the bus stop at chest height, the camera holds a wide profile full-body view of 수리영 on the bench"
            },
            {
              "shot_key": "15:3",
              "source_field": "camera_direction",
              "quote": "Low beside the bench at hand height, just forward of 수리영’s knees"
            },
            {
              "shot_key": "15:6",
              "source_field": "camera_direction",
              "quote": "From the coastal road beyond the bus stop, the camera holds chest-high several meters from 혜수, looking back at her"
            }
          ],
          "guide_scope": "group",
          "risk_notes": "The group features multiple distinct camera angles around the same bus stop and bench (from the seaward side, low beside the bench, and from the coastal road looking back). A shared guide is necessary to ensure the structures and the figures' relative positions remain consistent across these different viewpoints.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l13-s22-sh1",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "medium",
          "reasons": [
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "22:1",
              "source_field": "camera_direction",
              "quote": "with the station entrance and curb line receding behind her"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The camera directive specifies a receding background (curb line and station entrance) behind the subject, creating a spatial relationship that an unguided render might collapse or misalign.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l16-s26-sh1",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "26:1",
              "source_field": "camera_direction",
              "quote": "small full-body figure crouched on the rocks near the lower-right third"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The wide framing and specific placement of a small figure in the lower-right third on the rocks presents a placement risk that a layout sketch can resolve.",
          "admit": true,
          "deny_reason": null
        }
      ],
      "shared_model_attach_decisions": [
        {
          "group_id": "osl-shared-l01-s1",
          "scene_index": 1,
          "base_cache_key": "326a0b6092166c90",
          "attached_shots": [
            "1:1",
            "1:3"
          ],
          "attached": true
        },
        {
          "group_id": "osl-single-l01-s3-sh3",
          "scene_index": 3,
          "base_cache_key": "0fa529e99a68f66a",
          "attached_shots": [
            "3:3"
          ],
          "attached": true
        },
        {
          "group_id": "osl-shared-l02-s2",
          "scene_index": 2,
          "base_cache_key": "dd4d4c6da36c7f27",
          "attached_shots": [],
          "attached": false,
          "fail_stage": "pose_brief"
        },
        {
          "group_id": "osl-single-l03-s4-sh1",
          "scene_index": 4,
          "base_cache_key": "ec5a141ad054db86",
          "attached_shots": [],
          "attached": false,
          "fail_stage": "pose_brief"
        },
        {
          "group_id": "osl-single-l03-s10-sh6",
          "scene_index": 10,
          "base_cache_key": "3dff7278d74ed8f3",
          "attached_shots": [],
          "attached": true
        },
        {
          "group_id": "osl-single-l03-s11-sh4",
          "scene_index": 11,
          "base_cache_key": "b275260fa675404f",
          "attached_shots": [],
          "attached": false,
          "fail_stage": "pose_brief"
        },
        {
          "group_id": "osl-single-l03-s17-sh1",
          "scene_index": 17,
          "base_cache_key": "e8ffc7baca285978",
          "attached_shots": [],
          "attached": false,
          "fail_stage": "pose_brief"
        },
        {
          "group_id": "osl-shared-l11-s15",
          "scene_index": 15,
          "base_cache_key": "612bdb49cd2b7a95",
          "attached_shots": [
            "15:1",
            "15:3",
            "15:6"
          ],
          "attached": true
        },
        {
          "group_id": "osl-single-l13-s22-sh1",
          "scene_index": 22,
          "base_cache_key": "e1a10aee5b295015",
          "attached_shots": [
            "22:1"
          ],
          "attached": true
        },
        {
          "group_id": "osl-single-l16-s26-sh1",
          "scene_index": 26,
          "base_cache_key": "41760af4b0415315",
          "attached_shots": [
            "26:1"
          ],
          "attached": true
        }
      ],
      "shared_model_single_shot_complexity_observation": [
        {
          "group_id": "osl-shared-l01-s1",
          "decision_type": "both",
          "is_single_shot_candidate": false,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l01-s3-sh3",
          "decision_type": "single_shot_complexity",
          "is_single_shot_candidate": true,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-shared-l02-s2",
          "decision_type": "both",
          "is_single_shot_candidate": false,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l03-s4-sh1",
          "decision_type": "single_shot_complexity",
          "is_single_shot_candidate": true,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l03-s10-sh6",
          "decision_type": "single_shot_complexity",
          "is_single_shot_candidate": true,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l03-s11-sh4",
          "decision_type": "single_shot_complexity",
          "is_single_shot_candidate": true,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l03-s17-sh1",
          "decision_type": "single_shot_complexity",
          "is_single_shot_candidate": true,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l13-s22-sh1",
          "decision_type": "single_shot_complexity",
          "is_single_shot_candidate": true,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l16-s26-sh1",
          "decision_type": "single_shot_complexity",
          "is_single_shot_candidate": true,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        }
      ],
      "shared_model_pose_fail_closed": [
        {
          "shot": "S2sh2",
          "group_id": "osl-shared-l02-s2",
          "figure_count": 1,
          "had_body": true
        },
        {
          "shot": "S4sh1",
          "group_id": "osl-single-l03-s4-sh1",
          "figure_count": 0,
          "had_body": true
        },
        {
          "shot": "S11sh4",
          "group_id": "osl-single-l03-s11-sh4",
          "figure_count": 0,
          "had_body": true
        },
        {
          "shot": "S17sh1",
          "group_id": "osl-single-l03-s17-sh1",
          "figure_count": 0,
          "had_body": true
        }
      ],
      "shared_model_optical_risk_excluded": [
        {
          "shot": "S10sh6",
          "group_id": "osl-single-l03-s10-sh6",
          "mode": "sketch"
        }
      ],
      "shared_model_image_calls": {
        "predicted": {
          "base": 5,
          "blocking": 5,
          "camera_view_sketch": 5
        },
        "actual": {
          "base": 5,
          "blocking": 5,
          "camera_view_sketch": 5
        },
        "predicted_call_count": 15,
        "actual_call_count": 15,
        "continuity_anchor_generation_calls": 0
      },
      "shared_model_chain_lineage": {
        "annotated": [
          {
            "asset": "92500669-5719-4c2d-99ff-262d60c0e22b",
            "role": "outdoor_shot_blocking",
            "input": "80880f1f-c7cf-4235-9c3c-7435fbe4541a"
          },
          {
            "asset": "32c4cbea-f5d6-4118-9df3-dd696c7c7770",
            "role": "outdoor_camera_sketch",
            "input": "92500669-5719-4c2d-99ff-262d60c0e22b"
          },
          {
            "asset": "24ce8a1d-6a35-46a7-9bc0-9476bec87012",
            "role": "outdoor_shot_blocking",
            "input": "44041065-ba32-4b08-a425-4246e78a6582"
          },
          {
            "asset": "70921489-3894-4cf1-87e7-59fd0b24b464",
            "role": "outdoor_camera_sketch",
            "input": "24ce8a1d-6a35-46a7-9bc0-9476bec87012"
          },
          {
            "asset": "a55091c4-552f-4b81-b63e-1bbf67f76988",
            "role": "outdoor_shot_blocking",
            "input": "941b3e42-a85f-49c2-b727-fde46f28546b"
          },
          {
            "asset": "998eeb09-0ecf-4e01-91b4-1622b90ce2c9",
            "role": "outdoor_camera_sketch",
            "input": "a55091c4-552f-4b81-b63e-1bbf67f76988"
          },
          {
            "asset": "8a49b673-1c98-47af-a90c-c6ac7ff27fed",
            "role": "outdoor_camera_sketch",
            "input": "5b28433d-59a8-4247-913d-d376cbcef8fc"
          },
          {
            "asset": "c55e42a9-748b-41f7-8660-c5695f9fd22d",
            "role": "outdoor_camera_sketch",
            "input": "bd655475-8ed9-4eb5-9cc6-e1d51b4feaf7"
          },
          {
            "asset": "5a09b303-a56e-4201-b738-a8f436093406",
            "role": "outdoor_shot_blocking",
            "input": "9d6a38f6-acca-455c-b49d-4e6024b140c8"
          },
          {
            "asset": "6341ff3b-2dd4-4fdb-9a84-14f81e5e3da1",
            "role": "outdoor_camera_sketch",
            "input": "5a09b303-a56e-4201-b738-a8f436093406"
          },
          {
            "asset": "1dd2eced-d80b-4d4d-aa6c-21ccec33f74f",
            "role": "outdoor_camera_sketch",
            "input": "7a2b8632-59ac-44a8-8737-62bd6e2c8f8b"
          },
          {
            "asset": "ec1888e1-f572-4a36-802b-b28d9e8d824c",
            "role": "outdoor_shot_blocking",
            "input": "8205626c-39d1-42d5-9ae3-681cc7bc55fe"
          },
          {
            "asset": "4b21a64b-8627-4993-aa3f-59226530f2c3",
            "role": "outdoor_camera_sketch",
            "input": "ec1888e1-f572-4a36-802b-b28d9e8d824c"
          },
          {
            "asset": "6e44d263-b2a3-4611-b1c5-b65701e5a565",
            "role": "outdoor_shot_blocking",
            "input": "4f11e76f-8ad5-4f06-82b0-a796875be675"
          },
          {
            "asset": "5ede86d6-6cc2-4a0b-adee-256f134d60a6",
            "role": "outdoor_camera_sketch",
            "input": "6e44d263-b2a3-4611-b1c5-b65701e5a565"
          },
          {
            "asset": "ee1e6016-a55d-415d-8bda-edcb36bf4d9e",
            "role": "outdoor_shot_blocking",
            "input": "1735993f-be28-4564-86f7-3341c782b62c"
          },
          {
            "asset": "d97f48af-6537-4331-9eff-6ee08096be61",
            "role": "outdoor_camera_sketch",
            "input": "ee1e6016-a55d-415d-8bda-edcb36bf4d9e"
          },
          {
            "asset": "0c17d917-dbe5-48f6-9efc-8e9c6fd89ed6",
            "role": "outdoor_shot_blocking",
            "input": "91eb29ba-1f41-4da2-85ba-0addaa978344"
          },
          {
            "asset": "0f4e629f-2418-40ff-91b1-93a99b6d0e05",
            "role": "outdoor_camera_sketch",
            "input": "0c17d917-dbe5-48f6-9efc-8e9c6fd89ed6"
          },
          {
            "asset": "17968dad-93a0-4535-9c74-ee5f300dc2e5",
            "role": "outdoor_shot_blocking",
            "input": "56bd2473-6306-4ea5-85f1-599b7ed77eb7"
          },
          {
            "asset": "fe89e0df-74bd-41f4-9a15-fc78d5ba5ebd",
            "role": "outdoor_camera_sketch",
            "input": "17968dad-93a0-4535-9c74-ee5f300dc2e5"
          },
          {
            "asset": "e8c4eff8-58bf-4af7-9bab-3935283cf794",
            "role": "outdoor_shot_blocking",
            "input": "53b13e2f-ccb9-4bf9-96a1-e793382f9d13"
          },
          {
            "asset": "4d851756-97fa-4951-9cd8-faf5016ced72",
            "role": "outdoor_camera_sketch",
            "input": "e8c4eff8-58bf-4af7-9bab-3935283cf794"
          },
          {
            "asset": "133f724a-0156-477a-aedb-f29b08813a8b",
            "role": "outdoor_shot_blocking",
            "input": "431d3d96-0fa9-438d-b55c-9b0f5038f8c7"
          },
          {
            "asset": "810a7427-b3d8-4e2d-a784-5e12f3724d67",
            "role": "outdoor_camera_sketch",
            "input": "133f724a-0156-477a-aedb-f29b08813a8b"
          },
          {
            "asset": "9a080cd3-8a29-4731-a75e-3fe41176c1b7",
            "role": "outdoor_shot_blocking",
            "input": "662652c9-ec0c-489d-8bb2-3ccb42cf90dc"
          },
          {
            "asset": "99ce3311-562f-4688-825d-a7d85c218937",
            "role": "outdoor_camera_sketch",
            "input": "9a080cd3-8a29-4731-a75e-3fe41176c1b7"
          },
          {
            "asset": "f14ace02-65f1-4e16-9c20-9e7095bacde7",
            "role": "outdoor_shot_blocking",
            "input": "b6f00e43-1d04-4fc3-8e55-25e4c6d43131"
          },
          {
            "asset": "d0dd0655-8af0-4e9e-8352-9916420546d5",
            "role": "outdoor_camera_sketch",
            "input": "f14ace02-65f1-4e16-9c20-9e7095bacde7"
          }
        ],
        "unresolved": [],
        "guide_asset_resolved": [
          {
            "shot": "1:1",
            "asset": "fe89e0df-74bd-41f4-9a15-fc78d5ba5ebd"
          },
          {
            "shot": "3:3",
            "asset": "4d851756-97fa-4951-9cd8-faf5016ced72"
          },
          {
            "shot": "15:1",
            "asset": "810a7427-b3d8-4e2d-a784-5e12f3724d67"
          },
          {
            "shot": "22:1",
            "asset": "99ce3311-562f-4688-825d-a7d85c218937"
          },
          {
            "shot": "26:1",
            "asset": "d0dd0655-8af0-4e9e-8352-9916420546d5"
          }
        ],
        "guide_asset_unresolved": []
      }
    },
    "composition_guides": {
      "1:1": {
        "mode": "sketch",
        "path": "composition_guides/S1sh1.png",
        "location_id": "L01",
        "group_id": "osl-shared-l01-s1",
        "admitted_order": 0,
        "guide_scope_type": "cross_shot_continuity",
        "is_single_shot_candidate": false,
        "model": "gpt-image-2",
        "judge_model": "gemini-3.1-pro-preview",
        "judge": {
          "confidence": "high",
          "decision_type": "both",
          "evidence": [
            {
              "shot_key": "1:1",
              "source_field": "camera_direction",
              "quote": "moving at shoulder height about twelve feet to the man’s left, held slightly wider to keep his full body in profile"
            },
            {
              "shot_key": "1:3",
              "source_field": "camera_direction",
              "quote": "tilts more sharply upward as the impact enters from above. The man’s arched torso occupies the lower center and right of frame, while the airborne black silhouette crashes down from the upper left"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "depth_layering",
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "326a0b6092166c90",
        "base_hash": "7f37808178146ac8",
        "base_prompt_hash": "87c1c2badb2c5a76",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "9cd6dac069c4486a",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "2a05c2a5a14be2c4",
        "camera_brief_hash": "0c22659768335057",
        "camera_view_sketch_hash": "da3f12bf7acf94b4",
        "sketch_prompt_hash": "b1b4141920352d13",
        "helper_version": "shared_model_aerial_v3.202607021900",
        "forced_character_names": [
          "한국인 남자"
        ],
        "guide_asset_id": "fe89e0df-74bd-41f4-9a15-fc78d5ba5ebd"
      },
      "1:3": {
        "mode": "continuity_anchor",
        "anchor_source": [
          1,
          1
        ],
        "location_id": "L01",
        "group_id": "osl-shared-l01-s1",
        "admitted_order": 1,
        "guide_scope_type": "cross_shot_continuity",
        "is_single_shot_candidate": false,
        "judge_model": "gemini-3.1-pro-preview",
        "judge": {
          "confidence": "high",
          "decision_type": "both",
          "evidence": [
            {
              "shot_key": "1:1",
              "source_field": "camera_direction",
              "quote": "moving at shoulder height about twelve feet to the man’s left, held slightly wider to keep his full body in profile"
            },
            {
              "shot_key": "1:3",
              "source_field": "camera_direction",
              "quote": "tilts more sharply upward as the impact enters from above. The man’s arched torso occupies the lower center and right of frame, while the airborne black silhouette crashes down from the upper left"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "depth_layering",
            "camera_or_framing_risk"
          ]
        },
        "forced_character_names": []
      },
      "3:3": {
        "mode": "sketch",
        "path": "composition_guides/S3sh3.png",
        "location_id": "L01",
        "group_id": "osl-single-l01-s3-sh3",
        "admitted_order": 0,
        "guide_scope_type": "single_shot_complexity",
        "is_single_shot_candidate": true,
        "model": "gpt-image-2",
        "judge_model": "gemini-3.1-pro-preview",
        "judge": {
          "confidence": "high",
          "decision_type": "single_shot_complexity",
          "evidence": [
            {
              "shot_key": "3:3",
              "source_field": "camera_direction",
              "quote": "Hyesu’s upper torso occupies the center, her extended finger cuts toward the right edge, and blurred detectives form a tense wall behind her."
            }
          ],
          "reasons": [
            "depth_layering",
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "0fa529e99a68f66a",
        "base_hash": "337db6a08520930f",
        "base_prompt_hash": "87c1c2badb2c5a76",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "3ecf8e573c51e320",
        "pose_brief_present": true,
        "pose_brief_figures": 2,
        "pose_brief_hash": "e236ce38c30f4ef1",
        "camera_brief_hash": "1a3ec97a11fe7878",
        "camera_view_sketch_hash": "afdfdb5227631f91",
        "sketch_prompt_hash": "e4c86ac15a7f1d4f",
        "helper_version": "shared_model_aerial_v3.202607021900",
        "forced_character_names": [
          "혜수"
        ],
        "guide_asset_id": "4d851756-97fa-4951-9cd8-faf5016ced72"
      },
      "15:1": {
        "mode": "sketch",
        "path": "composition_guides/S15sh1.png",
        "location_id": "L11",
        "group_id": "osl-shared-l11-s15",
        "admitted_order": 0,
        "guide_scope_type": "cross_shot_continuity",
        "is_single_shot_candidate": false,
        "model": "gpt-image-2",
        "judge_model": "gemini-3.1-pro-preview",
        "judge": {
          "confidence": "high",
          "decision_type": "cross_shot_continuity",
          "evidence": [
            {
              "shot_key": "15:1",
              "source_field": "camera_direction",
              "quote": "From the seaward side of the bus stop at chest height, the camera holds a wide profile full-body view of 수리영 on the bench"
            },
            {
              "shot_key": "15:3",
              "source_field": "camera_direction",
              "quote": "Low beside the bench at hand height, just forward of 수리영’s knees"
            },
            {
              "shot_key": "15:6",
              "source_field": "camera_direction",
              "quote": "From the coastal road beyond the bus stop, the camera holds chest-high several meters from 혜수, looking back at her"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "figure_placement_continuity"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "612bdb49cd2b7a95",
        "base_hash": "da4e2e633f06cbae",
        "base_prompt_hash": "0af438c48a565597",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "ecbb389f4968e7a8",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "c0fa658def65e75a",
        "camera_brief_hash": "c98ce1c575a7eaca",
        "camera_view_sketch_hash": "d0919ae590f711ef",
        "sketch_prompt_hash": "d6a2ee22b718c1a9",
        "helper_version": "shared_model_aerial_v3.202607021900",
        "forced_character_names": [
          "수리영"
        ],
        "guide_asset_id": "810a7427-b3d8-4e2d-a784-5e12f3724d67"
      },
      "15:3": {
        "mode": "continuity_anchor",
        "anchor_source": [
          15,
          1
        ],
        "location_id": "L11",
        "group_id": "osl-shared-l11-s15",
        "admitted_order": 1,
        "guide_scope_type": "cross_shot_continuity",
        "is_single_shot_candidate": false,
        "judge_model": "gemini-3.1-pro-preview",
        "judge": {
          "confidence": "high",
          "decision_type": "cross_shot_continuity",
          "evidence": [
            {
              "shot_key": "15:1",
              "source_field": "camera_direction",
              "quote": "From the seaward side of the bus stop at chest height, the camera holds a wide profile full-body view of 수리영 on the bench"
            },
            {
              "shot_key": "15:3",
              "source_field": "camera_direction",
              "quote": "Low beside the bench at hand height, just forward of 수리영’s knees"
            },
            {
              "shot_key": "15:6",
              "source_field": "camera_direction",
              "quote": "From the coastal road beyond the bus stop, the camera holds chest-high several meters from 혜수, looking back at her"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "figure_placement_continuity"
          ]
        },
        "forced_character_names": [
          "수리영"
        ]
      },
      "15:6": {
        "mode": "continuity_anchor",
        "anchor_source": [
          15,
          3
        ],
        "location_id": "L11",
        "group_id": "osl-shared-l11-s15",
        "admitted_order": 2,
        "guide_scope_type": "cross_shot_continuity",
        "is_single_shot_candidate": false,
        "judge_model": "gemini-3.1-pro-preview",
        "judge": {
          "confidence": "high",
          "decision_type": "cross_shot_continuity",
          "evidence": [
            {
              "shot_key": "15:1",
              "source_field": "camera_direction",
              "quote": "From the seaward side of the bus stop at chest height, the camera holds a wide profile full-body view of 수리영 on the bench"
            },
            {
              "shot_key": "15:3",
              "source_field": "camera_direction",
              "quote": "Low beside the bench at hand height, just forward of 수리영’s knees"
            },
            {
              "shot_key": "15:6",
              "source_field": "camera_direction",
              "quote": "From the coastal road beyond the bus stop, the camera holds chest-high several meters from 혜수, looking back at her"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "figure_placement_continuity"
          ]
        },
        "forced_character_names": [
          "혜수"
        ]
      },
      "22:1": {
        "mode": "sketch",
        "path": "composition_guides/S22sh1.png",
        "location_id": "L13",
        "group_id": "osl-single-l13-s22-sh1",
        "admitted_order": 0,
        "guide_scope_type": "single_shot_complexity",
        "is_single_shot_candidate": true,
        "model": "gpt-image-2",
        "judge_model": "gemini-3.1-pro-preview",
        "judge": {
          "confidence": "medium",
          "decision_type": "single_shot_complexity",
          "evidence": [
            {
              "shot_key": "22:1",
              "source_field": "camera_direction",
              "quote": "with the station entrance and curb line receding behind her"
            }
          ],
          "reasons": [
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "e1a10aee5b295015",
        "base_hash": "7ea9bb9c8c65f2f1",
        "base_prompt_hash": "ef31c83e4509abc0",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "f879f4cf1282c048",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "b129dd2945b39534",
        "camera_brief_hash": "c2950808feb42305",
        "camera_view_sketch_hash": "ecdb86054e65d031",
        "sketch_prompt_hash": "e59c5728be735342",
        "helper_version": "shared_model_aerial_v3.202607021900",
        "forced_character_names": [
          "수리영"
        ],
        "guide_asset_id": "99ce3311-562f-4688-825d-a7d85c218937"
      },
      "26:1": {
        "mode": "sketch",
        "path": "composition_guides/S26sh1.png",
        "location_id": "L16",
        "group_id": "osl-single-l16-s26-sh1",
        "admitted_order": 0,
        "guide_scope_type": "single_shot_complexity",
        "is_single_shot_candidate": true,
        "model": "gpt-image-2",
        "judge_model": "gemini-3.1-pro-preview",
        "judge": {
          "confidence": "high",
          "decision_type": "single_shot_complexity",
          "evidence": [
            {
              "shot_key": "26:1",
              "source_field": "camera_direction",
              "quote": "small full-body figure crouched on the rocks near the lower-right third"
            }
          ],
          "reasons": [
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "41760af4b0415315",
        "base_hash": "c780293bd422ac34",
        "base_prompt_hash": "5c8d19e2f24cca4b",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "09eb001adc546ea8",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "62d9d4c408c98a0d",
        "camera_brief_hash": "8d45ff797f1c9bf9",
        "camera_view_sketch_hash": "abb1953aa83d17e3",
        "sketch_prompt_hash": "9cb6a9ba8f3ca8b8",
        "helper_version": "shared_model_aerial_v3.202607021900",
        "forced_character_names": [
          "수리영"
        ],
        "guide_asset_id": "d0dd0655-8af0-4e9e-8352-9916420546d5"
      }
    },
    "review_html": "review_html/index.html"
  },
  "step_id": "outdoor_site_layout",
  "run_id": "e2d88fb4-8b12-46ad-8916-68b9971401c6",
  "resolved_model": "gpt",
  "updated_at": "2026-07-02T11:20:32.990756+00:00",
  "project_config_snapshot": {}
}