{
  "status": "completed",
  "applicable_count": 8,
  "completed_count": 8,
  "failed_count": 0,
  "schema_version": 1,
  "config_hash": "fd42f624b8048fa0",
  "data": {
    "schema_version": 1,
    "groups": [
      {
        "group_id": "osl-l01",
        "location_id": "L01",
        "member_shots": [
          [
            1,
            3
          ],
          [
            1,
            5
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                60,
                45
              ],
              "pos": [
                64,
                43
              ],
              "shot_index": 3
            },
            {
              "look_at": [
                50,
                54
              ],
              "pos": [
                50,
                25
              ],
              "shot_index": 5
            }
          ],
          "figures": [
            {
              "entity_token": "C01",
              "figure_id": "F01",
              "label": "습격당한 남자",
              "positions": [
                {
                  "moving_toward": [
                    56,
                    52
                  ],
                  "pos": [
                    60,
                    45
                  ],
                  "shot_index": 3
                },
                {
                  "moving_toward": [
                    50,
                    52
                  ],
                  "pos": [
                    54,
                    55
                  ],
                  "shot_index": 5
                }
              ]
            },
            {
              "entity_token": "C02",
              "figure_id": "F02",
              "label": "낯선 아시아인 남성",
              "positions": [
                {
                  "moving_toward": [
                    50,
                    52
                  ],
                  "pos": [
                    46,
                    55
                  ],
                  "shot_index": 5
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": null,
              "id": "L01",
              "kind": "area",
              "label": "우거진 수풀",
              "points": [
                [
                  5,
                  5
                ],
                [
                  95,
                  5
                ],
                [
                  95,
                  95
                ],
                [
                  5,
                  95
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "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- 우거진 수풀: at the far center of the frame.\nFIGURES:\n- 습격당한 남자 (C01): at the near center of the frame — NEAREST figure to the camera; in motion: already partway along their path, heading toward the far right side of the frame.",
          "1:5": "SHOT 5 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- 우거진 수풀: at the near center of the frame.\nFIGURES:\n- 습격당한 남자 (C01): 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.\n- 낯선 아시아인 남성 (C02): at the near center of the frame; about 1.0x as far from the camera as the nearest figure, so they must appear roughly 1.00x 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.\nDEPTH CONTRACT: 낯선 아시아인 남성 is farther than 습격당한 남자 and must read visibly smaller and deeper in the frame."
        }
      },
      {
        "group_id": "osl-l02",
        "location_id": "L02",
        "member_shots": [
          [
            2,
            2
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                50,
                52
              ],
              "pos": [
                50,
                46
              ],
              "shot_index": 2
            }
          ],
          "figures": [
            {
              "entity_token": null,
              "figure_id": "man",
              "label": "정체불명의 아시아인 남성 (포식 활성 상태)",
              "positions": [
                {
                  "moving_toward": [
                    47,
                    52
                  ],
                  "pos": [
                    49.2,
                    52
                  ],
                  "shot_index": 2
                }
              ]
            },
            {
              "entity_token": "C03",
              "figure_id": "woman",
              "label": "습격당한 여자",
              "positions": [
                {
                  "moving_toward": [
                    48,
                    52
                  ],
                  "pos": [
                    50.8,
                    52
                  ],
                  "shot_index": 2
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": null,
              "id": "alley",
              "kind": "area",
              "label": "도시 뒷골목",
              "points": [
                [
                  40,
                  10
                ],
                [
                  60,
                  10
                ],
                [
                  60,
                  90
                ],
                [
                  40,
                  90
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "utility_pole",
              "kind": "point",
              "label": "전봇대",
              "points": [
                [
                  50,
                  53.5
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "streetlight",
              "kind": "point",
              "label": "가로등",
              "points": [
                [
                  56,
                  64
                ]
              ]
            }
          ]
        },
        "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 mid-distance center of the frame.\n- 가로등: at the far right side of the frame.\nFIGURES:\n- 정체불명의 아시아인 남성 (포식 활성 상태): at the near center of the frame — NEAREST figure to the camera; in motion: already partway along their path, heading toward the near left side of the frame; NOT heading into the 도시 뒷골목.\n- 습격당한 여자 (C03): at the near center of the frame; about 1.0x as far from the camera as the nearest figure, so they must appear roughly 1.00x 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 도시 뒷골목.\nDEPTH CONTRACT: 습격당한 여자 is farther than 정체불명의 아시아인 남성 (포식 활성 상태) and must read visibly smaller and deeper in the frame."
        }
      },
      {
        "group_id": "osl-l03",
        "location_id": "L03",
        "member_shots": [
          [
            3,
            2
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                50,
                55
              ],
              "pos": [
                50,
                28
              ],
              "shot_index": 2
            }
          ],
          "figures": [
            {
              "entity_token": "C05",
              "figure_id": "fig_hyesu",
              "label": "혜수",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    50,
                    54
                  ],
                  "shot_index": 2
                }
              ]
            },
            {
              "entity_token": null,
              "figure_id": "fig_detective_group",
              "label": "형사 무리",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    43,
                    42
                  ],
                  "shot_index": 2
                }
              ]
            },
            {
              "entity_token": null,
              "figure_id": "fig_police",
              "label": "경찰",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    74,
                    77
                  ],
                  "shot_index": 2
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": null,
              "id": "landmark_police_line",
              "kind": "line",
              "label": "폴리스 라인",
              "points": [
                [
                  14,
                  65
                ],
                [
                  88,
                  65
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "landmark_forensic_recovery_area",
              "kind": "area",
              "label": "현장 감식 및 시신 수거 구역",
              "points": [
                [
                  58,
                  68
                ],
                [
                  94,
                  68
                ],
                [
                  94,
                  94
                ],
                [
                  61,
                  94
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "3: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 far right side of the frame.\nFIGURES:\n- 형사 무리: at the near left side of the frame — NEAREST figure to the camera.\n- 혜수 (C05): at the mid-distance center of the frame; about 1.7x as far from the camera as the nearest figure, so they must appear roughly 0.60x the nearest figure's height (smaller, deeper in the frame).\n- 경찰: at the far right side of the frame; about 3.5x as far from the camera as the nearest figure, so they must appear roughly 0.29x 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."
        }
      },
      {
        "group_id": "osl-l04",
        "location_id": "L04",
        "member_shots": [
          [
            4,
            1
          ],
          [
            10,
            4
          ],
          [
            17,
            1
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                52,
                48
              ],
              "pos": [
                50,
                96
              ],
              "shot_index": 1
            },
            {
              "look_at": [
                50.5,
                53.5
              ],
              "pos": [
                50.5,
                64
              ],
              "shot_index": 4
            },
            {
              "look_at": [
                44,
                57
              ],
              "pos": [
                23,
                76
              ],
              "shot_index": 1
            }
          ],
          "figures": [
            {
              "entity_token": "C13",
              "figure_id": "attacker",
              "label": "민숙을 습격한 낯선 남자",
              "positions": [
                {
                  "moving_toward": [
                    52.4,
                    53.5
                  ],
                  "pos": [
                    47.8,
                    53.5
                  ],
                  "shot_index": 4
                }
              ]
            },
            {
              "entity_token": "C06",
              "figure_id": "kang_minsook",
              "label": "강민숙",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    52.4,
                    53.5
                  ],
                  "shot_index": 4
                }
              ]
            },
            {
              "entity_token": "C15",
              "figure_id": "black_cat",
              "label": "검은 고양이",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    25,
                    68
                  ],
                  "shot_index": 1
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": null,
              "id": "incheon_outskirts",
              "kind": "area",
              "label": "Incheon outskirts",
              "points": [
                [
                  0,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  100
                ],
                [
                  0,
                  100
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "old_villa_rooftop",
              "kind": "area",
              "label": "old villa rooftop",
              "points": [
                [
                  20,
                  22
                ],
                [
                  78,
                  22
                ],
                [
                  78,
                  78
                ],
                [
                  20,
                  78
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "rooftop_room",
              "kind": "area",
              "label": "old villa rooftop room",
              "points": [
                [
                  40,
                  35
                ],
                [
                  64,
                  35
                ],
                [
                  64,
                  59
                ],
                [
                  40,
                  59
                ]
              ]
            },
            {
              "faces_toward": [
                50,
                70
              ],
              "id": "rooftop_room_window",
              "kind": "line",
              "label": "rooftop-room window",
              "points": [
                [
                  47,
                  59
                ],
                [
                  54,
                  59
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "rooftop_wall",
              "kind": "line",
              "label": "wall",
              "points": [
                [
                  20,
                  22
                ],
                [
                  20,
                  78
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {}
      },
      {
        "group_id": "osl-l05",
        "location_id": "L05",
        "member_shots": [
          [
            11,
            3
          ],
          [
            13,
            4
          ],
          [
            13,
            5
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                60,
                36
              ],
              "pos": [
                43,
                58
              ],
              "shot_index": 3
            },
            {
              "look_at": [
                31,
                76
              ],
              "pos": [
                25,
                85
              ],
              "shot_index": 4
            },
            {
              "look_at": [
                31,
                76
              ],
              "pos": [
                31,
                85
              ],
              "shot_index": 5
            }
          ],
          "figures": [
            {
              "entity_token": "C08",
              "figure_id": "suriyoung",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    51,
                    46
                  ],
                  "shot_index": 3
                },
                {
                  "moving_toward": null,
                  "pos": [
                    31,
                    76
                  ],
                  "shot_index": 4
                },
                {
                  "moving_toward": null,
                  "pos": [
                    32.5,
                    76
                  ],
                  "shot_index": 5
                }
              ]
            },
            {
              "entity_token": "C05",
              "figure_id": "hyesu",
              "label": "혜수",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    29.5,
                    76
                  ],
                  "shot_index": 5
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": null,
              "id": "alley",
              "kind": "line",
              "label": "골목길",
              "points": [
                [
                  0,
                  95
                ],
                [
                  100,
                  95
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "courtyard",
              "kind": "area",
              "label": "마당",
              "points": [
                [
                  12,
                  55
                ],
                [
                  49,
                  55
                ],
                [
                  49,
                  92
                ],
                [
                  12,
                  92
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "rooftop_stairs",
              "kind": "line",
              "label": "옥탑방 연결 계단",
              "points": [
                [
                  31,
                  76
                ],
                [
                  40,
                  62
                ],
                [
                  49,
                  50
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "rooftop",
              "kind": "area",
              "label": "옥상",
              "points": [
                [
                  42,
                  12
                ],
                [
                  92,
                  12
                ],
                [
                  92,
                  52
                ],
                [
                  42,
                  52
                ]
              ]
            },
            {
              "faces_toward": [
                55,
                40
              ],
              "id": "rooftop_room",
              "kind": "area",
              "label": "옥탑방",
              "points": [
                [
                  68,
                  14
                ],
                [
                  90,
                  14
                ],
                [
                  90,
                  31
                ],
                [
                  68,
                  31
                ]
              ]
            },
            {
              "faces_toward": [
                55,
                40
              ],
              "id": "iron_entrance_door",
              "kind": "point",
              "label": "반쯤 열린 현관 철문",
              "points": [
                [
                  68,
                  27
                ]
              ]
            }
          ]
        },
        "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 left side of the frame.\n- 마당: at the mid-distance center of the frame.\n- 옥탑방 연결 계단 (path): runs from the near center of the frame to the mid-distance center of the frame.\n- 옥상: at the mid-distance center of the frame.\n- 옥탑방: at the far center of the frame.\n- 반쯤 열린 현관 철문: at the far center of the frame.\nFIGURES:\n- 수리영 (C08): at the near center of the frame — NEAREST figure to the camera.",
          "13: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- 옥탑방 연결 계단 (path): runs from the near center of the frame to the far center of the frame.\n- 옥상: at the far center of the frame.\n- 옥탑방: at the far center of the frame.\n- 반쯤 열린 현관 철문: at the far center of the frame.\nFIGURES:\n- 수리영 (C08): at the near center of the frame — NEAREST figure to the camera.",
          "13:5": "SHOT 5 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 left side of the frame.\n- 마당: at the mid-distance center of the frame.\n- 옥탑방 연결 계단 (path): runs from the near center of the frame to the far left side of the frame.\n- 옥상: at the far left side of the frame.\n- 옥탑방: at the far left side of the frame.\n- 반쯤 열린 현관 철문: at the far left side of the frame.\nFIGURES:\n- 수리영 (C08): at the near center of the frame — NEAREST figure to the camera.\n- 혜수 (C05): at the near center of the frame; about 1.0x as far from the camera as the nearest figure, so they must appear roughly 1.00x 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."
        }
      },
      {
        "group_id": "osl-l07",
        "location_id": "L07",
        "member_shots": [
          [
            6,
            1
          ],
          [
            9,
            1
          ],
          [
            24,
            3
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                38,
                50
              ],
              "pos": [
                38,
                64
              ],
              "shot_index": 1
            },
            {
              "look_at": [
                62,
                50
              ],
              "pos": [
                62,
                64
              ],
              "shot_index": 1
            },
            {
              "look_at": [
                84,
                50
              ],
              "pos": [
                87,
                48
              ],
              "shot_index": 3
            }
          ],
          "figures": [
            {
              "entity_token": "C08",
              "figure_id": "suriyoung",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": [
                    72,
                    50
                  ],
                  "pos": [
                    42,
                    50
                  ],
                  "shot_index": 1
                },
                {
                  "moving_toward": [
                    92,
                    50
                  ],
                  "pos": [
                    66,
                    50
                  ],
                  "shot_index": 1
                },
                {
                  "moving_toward": [
                    96,
                    50
                  ],
                  "pos": [
                    84,
                    50
                  ],
                  "shot_index": 3
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": null,
              "id": "coastal_road",
              "kind": "line",
              "label": "해안가 도로",
              "points": [
                [
                  5,
                  50
                ],
                [
                  95,
                  50
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "sea",
              "kind": "area",
              "label": "바다",
              "points": [
                [
                  5,
                  5
                ],
                [
                  95,
                  5
                ],
                [
                  95,
                  35
                ],
                [
                  5,
                  35
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "6: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- 해안가 도로 (path): runs from the mid-distance right side of the frame to the far left side of the frame.\n- 바다 (path): runs from the far left side of the frame to the far right side of the frame.\nFIGURES:\n- 수리영 (C08): at the near left 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; their path follows the 해안가 도로; NOT heading into the 바다.",
          "9: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- 해안가 도로 (path): runs from the mid-distance right side of the frame to the far left side of the frame.\n- 바다 (path): runs from the far left side of the frame to the far right side of the frame.\nFIGURES:\n- 수리영 (C08): at the near left 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; their path follows the 해안가 도로; NOT heading into the 바다.",
          "24: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 mid-distance right side of the frame to the far left side of the frame.\n- 바다 (path): runs from the far left side of the frame to the far left side of the frame.\nFIGURES:\n- 수리영 (C08): at the near center of the frame — NEAREST figure to the camera; in motion: already partway along their path, heading toward the far right side of the frame; their path follows the 해안가 도로; NOT heading into the 바다."
        }
      },
      {
        "group_id": "osl-l08",
        "location_id": "L08",
        "member_shots": [
          [
            7,
            2
          ],
          [
            7,
            4
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                45,
                64
              ],
              "pos": [
                43,
                55
              ],
              "shot_index": 2
            },
            {
              "look_at": [
                65,
                47
              ],
              "pos": [
                25,
                55
              ],
              "shot_index": 4
            }
          ],
          "figures": [
            {
              "entity_token": "C08",
              "figure_id": "figure_suriyoung",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    45,
                    65
                  ],
                  "shot_index": 2
                },
                {
                  "moving_toward": null,
                  "pos": [
                    52,
                    53
                  ],
                  "shot_index": 4
                }
              ]
            },
            {
              "entity_token": "C09",
              "figure_id": "figure_rottweiler",
              "label": "로트와일러",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    44,
                    60
                  ],
                  "shot_index": 2
                }
              ]
            },
            {
              "entity_token": null,
              "figure_id": "figure_confined_dogs",
              "label": "개들",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    76,
                    35
                  ],
                  "shot_index": 4
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": null,
              "id": "shelter_fence",
              "kind": "line",
              "label": "보호원 울타리",
              "points": [
                [
                  15,
                  82
                ],
                [
                  91,
                  82
                ],
                [
                  94,
                  14
                ],
                [
                  14,
                  14
                ],
                [
                  15,
                  82
                ]
              ]
            },
            {
              "faces_toward": [
                40,
                50
              ],
              "id": "kennel_row",
              "kind": "area",
              "label": "철창 우리",
              "points": [
                [
                  66,
                  45
                ],
                [
                  73,
                  49
                ],
                [
                  90,
                  25
                ],
                [
                  82,
                  20
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "7: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- 철창 우리 (path): runs from the far right side of the frame to the far right side of the frame.\nFIGURES:\n- 로트와일러 (C09): at the near center of the frame — NEAREST figure to the camera.\n- 수리영 (C08): at the mid-distance center of the frame; about 2.0x as far from the camera as the nearest figure, so they must appear roughly 0.50x 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.",
          "7: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 near left side of the frame to the far right side of the frame.\n- 철창 우리 (path): runs from the mid-distance center of the frame to the far right side of the frame.\nFIGURES:\n- 수리영 (C08): at the near center of the frame — NEAREST figure to the camera.\n- 개들: at the mid-distance center of the frame; about 2.0x as far from the camera as the nearest figure, so they must appear roughly 0.49x 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."
        }
      },
      {
        "group_id": "osl-l11",
        "location_id": "L11",
        "member_shots": [
          [
            8,
            4
          ],
          [
            8,
            5
          ],
          [
            19,
            6
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                52,
                55
              ],
              "pos": [
                52,
                60
              ],
              "shot_index": 4
            },
            {
              "look_at": [
                56,
                35
              ],
              "pos": [
                48,
                18
              ],
              "shot_index": 5
            },
            {
              "look_at": [
                52,
                45
              ],
              "pos": [
                52,
                24
              ],
              "shot_index": 6
            }
          ],
          "figures": [
            {
              "entity_token": "C08",
              "figure_id": "F1",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    52,
                    55
                  ],
                  "shot_index": 4
                },
                {
                  "moving_toward": null,
                  "pos": [
                    58,
                    35
                  ],
                  "shot_index": 5
                },
                {
                  "moving_toward": null,
                  "pos": [
                    49,
                    37
                  ],
                  "shot_index": 6
                }
              ]
            },
            {
              "entity_token": "C12",
              "figure_id": "F2",
              "label": "마트 남자 직원",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    56,
                    59
                  ],
                  "shot_index": 4
                },
                {
                  "moving_toward": null,
                  "pos": [
                    55,
                    37
                  ],
                  "shot_index": 6
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": [
                52,
                25
              ],
              "id": "L1",
              "kind": "area",
              "label": "대형 마트",
              "points": [
                [
                  30,
                  40
                ],
                [
                  75,
                  40
                ],
                [
                  75,
                  78
                ],
                [
                  30,
                  78
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "L2",
              "kind": "area",
              "label": "번화가 길",
              "points": [
                [
                  5,
                  16
                ],
                [
                  95,
                  16
                ],
                [
                  95,
                  35
                ],
                [
                  5,
                  35
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "L3",
              "kind": "area",
              "label": "포구",
              "points": [
                [
                  0,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  10
                ],
                [
                  0,
                  10
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "8: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- 대형 마트: at the near left side of the frame.\n- 번화가 길 (path): runs from the far left side of the frame to 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.\nFIGURES:\n- 마트 남자 직원 (C12): at the near left side of the frame — NEAREST figure to the camera.\n- 수리영 (C08): at the mid-distance center of the frame; about 1.2x as far from the camera as the nearest figure, so they must appear roughly 0.82x 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.",
          "8:5": "SHOT 5 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- 대형 마트: at the mid-distance left side of the frame.\n- 번화가 길 (path): runs from the mid-distance left side of the frame to 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.\nFIGURES:\n- 수리영 (C08): at the near center of the frame — NEAREST figure to the camera.",
          "19: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- 대형 마트: at the far center of the frame.\n- 번화가 길 (path): runs from the far right side of the frame to the far left side of the frame.\n- 포구 (path): runs from the far right side of the frame to the far left side of the frame.\nFIGURES:\n- 수리영 (C08): at the near left side of the frame — NEAREST figure to the camera.\n- 마트 남자 직원 (C12): at the near right side of the frame; about 1.0x as far from the camera as the nearest figure, so they must appear roughly 1.00x 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."
        }
      }
    ],
    "prompt_overrides": {
      "1:3": {
        "location_id": "L01",
        "group_id": "osl-l01",
        "revised": {
          "0": "Photorealistic cinematic still. A tight lateral close-up from upper-thigh height. C01 in dark hiking pants, a Korean adult male, frozen mid-fall in right profile with his injured leg buckled beneath the body. The upper thigh dominates the center of the frame, revealing a large, deep bite mark through torn fabric. Fresh blood actively flows down the skin, creating a sharp crimson accent. [: Soft, out-of-focus dense forest bushes and undergrowth framing the edges, cast in deep shadows with a muted, cold, and desaturated color palette under extremely low late-day light]."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "3ea61f085a4c94e6",
            "revised_prompt_hash": "ed88c760a0bf3e91"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "The upper thigh dominates the center-right of the frame",
              "revised": "The upper thigh dominates the center of the frame"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "1:5": {
        "location_id": "L01",
        "group_id": "osl-l01",
        "revised": {
          "0": "Photorealistic cinematic still. C01O01 in a hiking jacket, a Korean adult man, occupies the near center midground, moving toward the impact ground in the lower-center background. C04O03 in a dark jumper, an East Asian adult man, is already partway across at the near center, heading toward the near center of the frame and appearing visibly smaller and deeper in the frame than C01O01. Captured from a slightly canted lateral distance at waist height several meters away, both figures are fully visible head to foot mid-impact. C04O03 is seen at three-quarter angle from the right as a backlit dark figure, his shoulder and back volume preserved against the dim ambient fill, forcefully driving his shoulder into the victim, eyes fixed on C01O01. C01O01 is captured at three-quarter angle from the left, looking off-screen with a visibly wounded, pained expression, his torso folding under the strike. C01O01's injured leg is buckled beneath him, revealing a large bleeding bite mark on his thigh, and one foot remains without its shoe. The dense dusk forest environment surrounds them, defined by extremely low lighting, a dark desaturated atmosphere, and surrounding bushes cast in deep shadows with a muted, cold color palette."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "21b55d27139baefa",
            "revised_prompt_hash": "9726cec8d0cc83fa"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "middle-right",
              "revised": "near center"
            },
            {
              "original": "cuts across from the middle-left, sharing the same midground space",
              "revised": "is already partway across at the near center, heading toward the near center of the frame and appearing visibly smaller and deeper in the frame than C01O01"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "2:2": {
        "location_id": "L02",
        "group_id": "osl-l02",
        "revised": {
          "0": "Photorealistic cinematic still. A compressed side close-up at the woman's neck level. C04O03 in a dark jacket, an East Asian adult man in right profile exerting force, jaw clamped tight, sharp teeth pulling the neck tissue of the constrained figure. His glowing red irises form a concentrated crimson accent in the upper third of the frame, eyes fixed on the woman. The constrained figure, a Korean adult woman with dark hair in left profile, is positioned near center, visibly smaller and deeper in the frame, already partway along her path toward the near left side of the frame and not heading into the alley, and appears visibly wounded, neck pulled backward and upper body sagging downward, gaze directed off-screen. Their overlapping profiles occupy most of the frame. In the narrow peripheral context behind them, the side of a concrete utility pole and a faint streetlight angled toward the alley provide a soft, low-key desaturated background."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "5017f0868b6cb4e1",
            "revised_prompt_hash": "3447d44ca8e2c9e5"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "The constrained figure, a Korean adult woman with dark hair in left profile, appears visibly wounded, neck pulled backward and upper body sagging downward, gaze directed off-screen.",
              "revised": "The constrained figure, a Korean adult woman with dark hair in left profile, is positioned near center, visibly smaller and deeper in the frame, already partway along her path toward the near left side of the frame and not heading into the alley, and appears visibly wounded, neck pulled backward and upper body sagging downward, gaze directed off-screen."
            }
          ]
        },
        "no_edit_reason": {}
      },
      "3:2": {
        "location_id": "L03",
        "group_id": "osl-l03",
        "revised": {
          "0": "Photorealistic cinematic still. C05O04 in a black leather jacket, a Korean woman in her early 40s, stands facing the camera at mid-distance in the center of the frame, already deeper in the frame and visibly smaller than the nearest detectives at roughly 0.60x their apparent height, pointing toward the forensic scene in the middle-right background. The same taped-off perimeter they both occupy connects her to the nearest detectives in the foreground, depicted as unnamed Korean men in detective coats with their backs to the camera, cropped at the lower left edge. The detectives' eyes are fixed on C05O04, while C05O04 looks off-screen, one arm directing the scene. The background reveals [L03: a grim crime scene enclosed by a boundary line crossing the space, where police personnel, already positioned deep in the frame at the far right side and visibly smaller than the nearest detectives at roughly 0.29x their apparent height, process the area], illuminated by daytime ambient light with restrained saturation and firm mid-key contrast."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "0be943680d803617",
            "revised_prompt_hash": "25c6910d8c591ee5"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "stands facing the camera in the middle-center midground",
              "revised": "stands facing the camera at mid-distance in the center of the frame, already deeper in the frame and visibly smaller than the nearest detectives at roughly 0.60x their apparent height"
            },
            {
              "original": "cropped at the lower side edges",
              "revised": "cropped at the lower left edge"
            },
            {
              "original": "where police personnel process the area",
              "revised": "where police personnel, already positioned deep in the frame at the far right side and visibly smaller than the nearest detectives at roughly 0.29x their apparent height, process the area"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "11:3": {
        "location_id": "L05",
        "group_id": "osl-l05",
        "revised": {
          "0": "Photorealistic cinematic still. C08O07 in casual workwear, a young Asian woman in her 20s with long straight black hair, stands in the center midground with her back to the camera, looking toward the half-open iron door in the upper-right background. Her posture is mid-stride frozen, weight shifted back, interrupting her forward momentum. A wide, empty interval stretches across the concrete surface between her and the doorway. The iron door reveals a narrow, oblique opening into the dark rooftop room. Low-key nighttime ambience preserves a restrained, desaturated palette, casting hard shadows that emphasize the tense spatial separation between the subject and the entrance from a locked wide, eye-level observer perspective."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "14cd17942e85258d",
            "revised_prompt_hash": "87ad905cd25bcbd3"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "stands in the lower-left midground",
              "revised": "stands in the center midground"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "13:5": {
        "location_id": "L05",
        "group_id": "osl-l05",
        "revised": {
          "0": "Photorealistic cinematic still. At chest height from a side observer perspective, a medium two-shot frames the figures sharing the space at the bottom of the courtyard. C05O04 in a leather jacket, an East Asian middle-aged woman, stands visibly smaller and deeper at the near center of the frame, in right profile, both hands firmly gripping the shoulders of the figure opposite her, eyes fixed on C08O07. C08O07 in casual wear, an East Asian young woman, stands in left profile, her knees slack and shoulders caught in the grip, eyes fixed on C05O04. The locked hand-to-shoulder contact occupies the central band of the frame. The scene is enveloped in a low-key nighttime ambience, preserving a restrained, desaturated tone with firm facial contrast. The old exterior staircase stands as a persistent architectural backdrop in the peripheral area, its ascending side visible beyond the pair."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "d097580cca3d4c61",
            "revised_prompt_hash": "0b6525768ea9771f"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "stands in right profile",
              "revised": "stands visibly smaller and deeper at the near center of the frame, in right profile"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "6:1": {
        "location_id": "L07",
        "group_id": "osl-l07",
        "revised": {
          "0": "Photorealistic cinematic still. Occupying the left side of the midground, C08O07 in casual activewear, a Korean early 20s woman with long black straight hair and earphones, is seated on a bicycle in right profile, moving toward the daytime coastal road in the middle-right background. Captured from a waist-height side angle, the wide frame fits the rider and the bicycle's full frame and wheels, displaying her in mid-pedal with one knee bent in the downward stroke. Her hair and clothing trail forcefully toward frame left, opposite to her forward motion, while she gazes into the distance. The coastal route beside the blue sea stretches out under clear daytime ambient light, supporting a restrained palette that emphasizes the energetic forward momentum."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "8a21c0109c528af6",
            "revised_prompt_hash": "efecac24ba4d210e"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "Occupying the middle-center midground",
              "revised": "Occupying the left side of the midground"
            },
            {
              "original": "Captured from a waist-height side tracking angle",
              "revised": "Captured from a waist-height side angle"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "9:1": {
        "location_id": "L07",
        "group_id": "osl-l07",
        "revised": {
          "0": "Photorealistic cinematic still. C08O07 in a dark windbreaker, a Korean young woman, riding the bicycle occupies the left-side midground, moving toward the screen-right road ahead, with the coastal road ahead stretching into the middle-right background. Captured at hip height from a parallel side angle, her full body and the bicycle are framed in a clean right profile, forming a taut diagonal across the center. She leans forward over the downward pedal, frozen in mid-pedal stroke with one knee sharply bent. Her long black hair and jacket trail backward in the direction opposite to her rapid motion. The bicycle's frame and both wheels are fully visible beneath her. She gazes into the distance. The environment is rendered with low-key nighttime exposure and a desaturated cool palette, maintaining the same coastal road layout with sparse, dim ambient illumination."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "21ce8d9cd1b4d58c",
            "revised_prompt_hash": "0ea2ca255564bdfc"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "occupies the middle-center midground",
              "revised": "occupies the left-side midground"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "24:3": {
        "location_id": "L07",
        "group_id": "osl-l07",
        "revised": {
          "0": "Photorealistic cinematic still. The coastal road runs from the mid-distance right side of the frame to the far left, with the sea confined to the far left. C08O07 in a waterproof jacket, a Korean young woman with long straight black hair framing her young oval face, at three-quarter angle from the right, hunched low over the bicycle handlebars partially visible at the lower frame edge, gazing into the distance beyond the camera. Her rain-soaked face occupies most of the frame in a tight close-up, lips firmly bitten, with water trailing off her skin and hair in the direction opposite to her forward motion. The shot tracks at her face height slightly off the bicycle's forward axis, illuminated by storm-darkened ambient light and an intermittent sharp lightning flash casting stark contrast on her wet features in a restrained desaturated palette. The background behind her remains soft and blurred with heavy rain streaks, showing a restrained trace of motion at the frame edges."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "16161b74b891e243",
            "revised_prompt_hash": "6630f2568cbf0c45"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "Photorealistic cinematic still. C08O07",
              "revised": "Photorealistic cinematic still. The coastal road runs from the mid-distance right side of the frame to the far left, with the sea confined to the far left. C08O07"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "7:2": {
        "location_id": "L08",
        "group_id": "osl-l08",
        "revised": {
          "0": "Photorealistic cinematic still. C08O07 stands at center in the mid-distance, deeper in the frame and visibly smaller than the Rottweiler, at roughly half its apparent height, looking toward the Rottweiler below the lens line. C08O07 in simple practical attire, a young Korean woman with long black straight hair and a young oval face, facing the camera with shoulders set and chin lowered in a centered frontal view at that smaller, deeper scale. Her face remains clearly readable at mid-distance, her unwavering stare fixed on the animal. The back of the Rottweiler's lowered head forms a soft, out-of-focus foreground edge in the lower frame, its back to the camera with forelegs braced. [: soft peripheral front-facing enclosure lines barely visible behind her]. Daytime ambient light shapes firm facial contrast across her features, maintaining a restrained and neutral muted palette to highlight the intensity of her eyes."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "d530784aaab87922",
            "revised_prompt_hash": "cb3983d782b769e0"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "stands in the middle-center midground",
              "revised": "stands at center in the mid-distance, deeper in the frame and visibly smaller than the Rottweiler, at roughly half its apparent height"
            },
            {
              "original": "in a centered frontal close-up",
              "revised": "in a centered frontal view at that smaller, deeper scale"
            },
            {
              "original": "Her face occupies most of the frame",
              "revised": "Her face remains clearly readable at mid-distance"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "7:4": {
        "location_id": "L08",
        "group_id": "osl-l08",
        "revised": {
          "0": "Photorealistic cinematic still. C08O07 in simple practical workwear, a young Korean woman with long straight black hair and an oval face, stands in the center midground, sharing the same shelter space with a row of enclosures with confined dogs appearing visibly smaller and deeper at the mid-distance center. Captured at chest height, she is positioned at a three-quarter angle from the right, her rigid upper body visible with a phone clearly pressed to her ear. The phone screen faces away from the camera. She is gazing into the distance with a fixed, concerned expression, alive and tense. The barred fronts of the enclosures face the camera and recede across the right background beside her. The confined dogs behind the enclosure bars are looking away off-screen. The animal shelter is illuminated by natural daytime ambient light, creating a restrained and neutral palette without overly vibrant colors. The lighting casts firmer contrast on her facial features than on the receding background structures."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "bf69faf1746a6a17",
            "revised_prompt_hash": "4f5232f6cb1675e1"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "stands in the middle-left midground",
              "revised": "stands in the center midground"
            },
            {
              "original": "confined dogs in the middle-right background",
              "revised": "confined dogs appearing visibly smaller and deeper at the mid-distance center"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "8:4": {
        "location_id": "L11",
        "group_id": "osl-l11",
        "revised": {
          "0": "Photorealistic cinematic still. C08O07 in a casual jacket, a young Korean woman in her early 20s with long straight black hair and a youthful oval face, occupies the mid-distance center of the frame, visibly smaller and deeper than the nearer off-screen figure, in a tight close-up. Seen at a three-quarter angle from the right, her face displays a consistently tense and anxious expression with widened eyes held near the upper-center frame and a tense mouth in the lower third. Her chin is retracted and shoulders tensed, eyes fixed on a figure off-screen. Restrained, desaturated store ambience casts low-to-mid-key contrast across her features, while the partial aisle-facing side of store shelving falls softly out of focus in the immediate background."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "9275ffe19c43521c",
            "revised_prompt_hash": "00fd05d62d3a42af"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "occupies the middle-center foreground in a tight close-up",
              "revised": "occupies the mid-distance center of the frame, visibly smaller and deeper than the nearer off-screen figure, in a tight close-up"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "8:5": {
        "location_id": "L11",
        "group_id": "osl-l11",
        "revised": {
          "0": "Photorealistic cinematic still. An eye-level wide observer view captures a full-body hold of the subject. C08O07 in a casual jacket, a young Korean woman in her 20s with long straight black hair and a young oval face, occupies the center of the frame at a three-quarter angle from the left. She is halted in mid-step on the road beside the curb, holding a smartphone pressed to her ear. She displays a consistently tense and anxious expression with widened eyes, her gaze fixed on the distance. Behind and to her left, the supermarket storefront anchors the space. Several signboards along the commercial street are angled toward the camera, and the existing car in the background is parked on the road. The scene is lit by a restrained dusk ambience with desaturated low-to-mid-key contrast, retaining deep spatial depth around her isolated halt without emitting unsupported neon colors."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "55046bbecc6ccb1c",
            "revised_prompt_hash": "1222f2fb4e801fbd"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "occupies the middle-right of the frame at a three-quarter angle from the left",
              "revised": "occupies the center of the frame at a three-quarter angle from the left"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "19:6": {
        "location_id": "L11",
        "group_id": "osl-l11",
        "revised": {
          "0": "Photorealistic cinematic still. C08O07 in a casual jacket, a young Korean woman, stands in the lower-left midground with her back to camera, leaning back with her chin raised, looking up toward the exterior CCTV camera mounted in the upper-center background. Farther back on the same shared pavement, a Korean adult man in a mart uniform stands visibly smaller and deeper in the lower-right midground with his back to camera, shoulders angled and head raised, also looking up toward the exterior CCTV camera. Captured from an eye-level wide perspective several meters behind them, their full figures occupy the lower half of the frame, establishing a clear vertical sightline to the security device above. The exterior wall and surrounding environment are bathed in early-morning ambient daylight, treated with restrained desaturation and a grounded low-to-mid-key contrast that casts a cool, muted tone over the architectural elements."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "0771320157b75415",
            "revised_prompt_hash": "3a78655d5818f11b"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "Beside her on the same shared pavement, a Korean adult man in a mart uniform stands in the lower-right midground",
              "revised": "Farther back on the same shared pavement, a Korean adult man in a mart uniform stands visibly smaller and deeper in the lower-right midground"
            }
          ]
        },
        "no_edit_reason": {}
      }
    },
    "diagnostics": {
      "outdoor_location_count": 14,
      "seed_group_count": 13,
      "groups_extracted": 8,
      "skipped": [
        {
          "shot": "S26sh7",
          "reason": "zoom_continuity_member"
        },
        {
          "shot": "S26sh10",
          "reason": "zoom_continuity_member"
        },
        {
          "shot": "S28sh1",
          "reason": "multiple_outdoor_locations",
          "locations": [
            "L18",
            "L19"
          ],
          "chosen": "L18"
        },
        {
          "seed": "location:L12",
          "reason": "cap"
        },
        {
          "seed": "location:L14",
          "reason": "cap"
        },
        {
          "seed": "location:L17",
          "reason": "cap"
        },
        {
          "seed": "location:L18",
          "reason": "cap"
        },
        {
          "seed": "location:L19",
          "reason": "cap"
        }
      ],
      "layout_shape_violations": [],
      "layout_side_conflicts": [
        {
          "seed": "location:L04",
          "conflicts": [
            {
              "shot_index": 4,
              "entity_token": "C13",
              "staged_side": "left",
              "layout_side": "right"
            },
            {
              "shot_index": 1,
              "entity_token": "C15",
              "staged_side": "left",
              "layout_side": "right"
            }
          ]
        }
      ],
      "spatial_summary_skipped": [
        {
          "shot": "S4sh1",
          "reason": "layout_side_conflict"
        },
        {
          "shot": "S10sh4",
          "reason": "layout_side_conflict"
        },
        {
          "shot": "S17sh1",
          "reason": "layout_side_conflict"
        }
      ],
      "rewrite_failed": [],
      "revised_prompt_audit_violations": [],
      "zoom_member_exclusion_source": "shot_dependency_t2i",
      "composition_guide_failed": [],
      "composition_guide_candidate_skipped": [
        {
          "group": "osl-single-l07-s24-sh3",
          "reason": "judge_no_need",
          "confidence": "high"
        },
        {
          "group": "osl-shared-l11-s8",
          "shot": "S8sh4",
          "reason": "pose_brief_unusable_fail_closed"
        }
      ],
      "composition_guide_count": 12,
      "seed_prefilter_meta": {
        "1:3": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L01",
          "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"
          ]
        },
        "1:5": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "frame_visible",
          "location_id": "L01",
          "figure_count": 2,
          "framing_scale": "wide",
          "character_angle_count": 2,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "2:2": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "primary_location",
          "location_id": "L02",
          "figure_count": 2,
          "framing_scale": "close",
          "character_angle_count": 2,
          "frame_spatial_contract_present": false,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "gaze_direction"
          ]
        },
        "3:2": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "frame_visible",
          "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"
          ]
        },
        "4:1": {
          "why_candidate": "single_shot_outdoor_no_figure",
          "location_source": "frame_visible",
          "location_id": "L04",
          "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": "L07",
          "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"
          ]
        },
        "7:2": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "primary_location",
          "location_id": "L08",
          "figure_count": 2,
          "framing_scale": "close",
          "character_angle_count": 2,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "7:4": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "frame_visible",
          "location_id": "L08",
          "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"
          ]
        },
        "8:4": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L11",
          "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"
          ]
        },
        "8:5": {
          "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"
          ]
        },
        "9:1": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L07",
          "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"
          ]
        },
        "10:4": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "primary_location",
          "location_id": "L04",
          "figure_count": 2,
          "framing_scale": "close",
          "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": "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"
          ]
        },
        "13:4": {
          "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"
          ]
        },
        "13:5": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "frame_visible",
          "location_id": "L05",
          "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"
          ]
        },
        "15:1": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L12",
          "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:5": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "primary_location",
          "location_id": "L12",
          "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"
          ]
        },
        "17:1": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L04",
          "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"
          ]
        },
        "19:6": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "frame_visible",
          "location_id": "L11",
          "figure_count": 2,
          "framing_scale": "wide",
          "character_angle_count": 2,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "22:2": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L14",
          "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"
          ]
        },
        "24:3": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L07",
          "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"
          ]
        },
        "26:2": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L17",
          "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"
          ]
        },
        "28:1": {
          "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": false,
          "available_structural_signal_names": [
            "framing_scale"
          ]
        },
        "28:6": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L19",
          "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:10": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L19",
          "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"
          ]
        },
        "30:2": {
          "why_candidate": "single_shot_outdoor_no_figure",
          "location_source": "frame_visible",
          "location_id": "L18",
          "figure_count": 0,
          "framing_scale": "medium",
          "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": [
            "S1sh3",
            "S1sh5"
          ],
          "cameras_non_identical": true,
          "landmark_count": 1,
          "per_shot_signals": {
            "1:3": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": true
            },
            "1:5": {
              "entity_count_bucket": "multiple",
              "entity_count": 2,
              "depth_planes": 1,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-single-l02-s2-sh2",
          "location_id": "L02",
          "scene_index": 2,
          "member_shots": [
            "S2sh2"
          ],
          "cameras_non_identical": false,
          "landmark_count": 3,
          "per_shot_signals": {
            "2:2": {
              "entity_count_bucket": "multiple",
              "entity_count": 2,
              "depth_planes": 1,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-single-l03-s3-sh2",
          "location_id": "L03",
          "scene_index": 3,
          "member_shots": [
            "S3sh2"
          ],
          "cameras_non_identical": false,
          "landmark_count": 2,
          "per_shot_signals": {
            "3:2": {
              "entity_count_bucket": "multiple",
              "entity_count": 3,
              "depth_planes": 3,
              "has_motion": false
            }
          }
        },
        {
          "group_id": "osl-shared-l05-s13",
          "location_id": "L05",
          "scene_index": 13,
          "member_shots": [
            "S13sh4",
            "S13sh5"
          ],
          "cameras_non_identical": true,
          "landmark_count": 6,
          "per_shot_signals": {
            "13:4": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            },
            "13:5": {
              "entity_count_bucket": "multiple",
              "entity_count": 2,
              "depth_planes": 1,
              "has_motion": false
            }
          }
        },
        {
          "group_id": "osl-single-l05-s11-sh3",
          "location_id": "L05",
          "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-single-l07-s6-sh1",
          "location_id": "L07",
          "scene_index": 6,
          "member_shots": [
            "S6sh1"
          ],
          "cameras_non_identical": false,
          "landmark_count": 2,
          "per_shot_signals": {
            "6:1": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-single-l07-s9-sh1",
          "location_id": "L07",
          "scene_index": 9,
          "member_shots": [
            "S9sh1"
          ],
          "cameras_non_identical": false,
          "landmark_count": 2,
          "per_shot_signals": {
            "9:1": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-single-l07-s24-sh3",
          "location_id": "L07",
          "scene_index": 24,
          "member_shots": [
            "S24sh3"
          ],
          "cameras_non_identical": false,
          "landmark_count": 2,
          "per_shot_signals": {
            "24:3": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-shared-l08-s7",
          "location_id": "L08",
          "scene_index": 7,
          "member_shots": [
            "S7sh2",
            "S7sh4"
          ],
          "cameras_non_identical": true,
          "landmark_count": 2,
          "per_shot_signals": {
            "7:2": {
              "entity_count_bucket": "multiple",
              "entity_count": 2,
              "depth_planes": 2,
              "has_motion": false
            },
            "7:4": {
              "entity_count_bucket": "multiple",
              "entity_count": 2,
              "depth_planes": 2,
              "has_motion": false
            }
          }
        },
        {
          "group_id": "osl-shared-l11-s8",
          "location_id": "L11",
          "scene_index": 8,
          "member_shots": [
            "S8sh4",
            "S8sh5"
          ],
          "cameras_non_identical": true,
          "landmark_count": 3,
          "per_shot_signals": {
            "8:4": {
              "entity_count_bucket": "multiple",
              "entity_count": 2,
              "depth_planes": 2,
              "has_motion": false
            },
            "8:5": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            }
          }
        },
        {
          "group_id": "osl-single-l11-s19-sh6",
          "location_id": "L11",
          "scene_index": 19,
          "member_shots": [
            "S19sh6"
          ],
          "cameras_non_identical": false,
          "landmark_count": 3,
          "per_shot_signals": {
            "19:6": {
              "entity_count_bucket": "multiple",
              "entity_count": 2,
              "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",
            "figure_placement_continuity",
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "1:3",
              "source_field": "camera_direction",
              "quote": "From upper-thigh height on the injured side, the camera holds a tight lateral close-up"
            },
            {
              "shot_key": "1:5",
              "source_field": "camera_direction",
              "quote": "At waist height and several meters away, the camera reaches the end of its rapid dolly-out in a wide, slightly canted lateral view, preserving both figures head to foot"
            }
          ],
          "guide_scope": "group",
          "risk_notes": "The group shifts from a tight, low-angle close-up on a moving leg to a wide, canted shot of two figures falling. A shared guide will ensure the undergrowth and the figures' spatial relationship remain consistent across these distinct framing choices.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l02-s2-sh2",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "occlusion_or_framing_risk",
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "2:2",
              "source_field": "camera_direction",
              "quote": "compressed side close-up, placing the attacker's red eye in the upper third and his teeth pulling her neck at center. Their overlapping profiles occupy most of the frame"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The tight framing and overlapping profiles of the two figures require precise spatial arrangement to ensure the intended occlusion and composition are maintained.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l03-s3-sh2",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "depth_layering",
            "occlusion_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "3:2",
              "source_field": "camera_direction",
              "quote": "The nearest detectives remain cropped at the lower side edges as restrained over-shoulder layers"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The shot requires precise depth layering and occlusion to achieve the intended over-the-shoulder framing with multiple figures.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-shared-l05-s13",
          "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": "13:4",
              "source_field": "camera_direction",
              "quote": "At eye level directly in front of 수리영, the camera holds an uncompromising close-up"
            },
            {
              "shot_key": "13:5",
              "source_field": "camera_direction",
              "quote": "At chest height a few steps to the side, a static medium two-shot places 혜수 on the left and 수리영 on the right in opposing profiles"
            }
          ],
          "guide_scope": "group",
          "risk_notes": "The shots cover the same outdoor location from different angles (a frontal close-up shifting to a side-angle medium two-shot). A shared guide is necessary to maintain the spatial relationship between the characters and the background structures (stairs, rooftop room) across the cut.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l05-s11-sh3",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "11:3",
              "source_field": "camera_direction",
              "quote": "includes her full body in the lower-left and the half-open iron entrance door ahead in the upper-right"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The framing directive requires a specific diagonal composition (figure lower-left, door upper-right) across the space, which an unguided render may collapse or misalign.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l07-s6-sh1",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "6:1",
              "source_field": "camera_direction",
              "quote": "At waist height directly beside the bicycle, the camera tracks parallel in a full-body side view"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "Waist-height tracking shot requires specific camera placement relative to the moving subject.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l07-s9-sh1",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "9:1",
              "source_field": "camera_direction",
              "quote": "At hip height beside the bicycle, the camera travels parallel as 수리영 rides screen-left to screen-right, lowering slightly to hold her bent knee"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The specific low-angle tracking shot framing the figure's lower body and bicycle requires a layout sketch to ensure correct placement and scale.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l07-s24-sh3",
          "needs_shared_model_guide": false,
          "decision_type": "no_guide",
          "confidence": "high",
          "reasons": [
            "insufficient_evidence"
          ],
          "evidence": [
            {
              "shot_key": "24:3",
              "source_field": "camera_direction",
              "quote": "tight close-up. Her rain-soaked face occupies most of the frame"
            }
          ],
          "guide_scope": "none",
          "risk_notes": "The shot is a tight close-up where the subject's face occupies most of the frame. A spatial layout guide is unnecessary for this framing and a single render will handle it fine unaided.",
          "admit": false,
          "deny_reason": "judge_no_need"
        },
        {
          "group_id": "osl-shared-l08-s7",
          "needs_shared_model_guide": true,
          "decision_type": "both",
          "confidence": "high",
          "reasons": [
            "multi_angle_same_set",
            "figure_placement_continuity",
            "depth_layering",
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "7:2",
              "source_field": "camera_direction",
              "quote": "The back of the 로트와일러's lowered head remains as a restrained, soft foreground edge below her eyeline"
            },
            {
              "shot_key": "7:4",
              "source_field": "camera_direction",
              "quote": "placing her rigid upper body in the left-center with the phone clearly pressed to her ear. The row of occupied enclosures recedes across the right background"
            }
          ],
          "guide_scope": "group",
          "risk_notes": "The shots feature different framing scales and depth relationships (foreground dog occlusion vs background enclosures) around the same character, requiring consistent spatial placement and depth layering across the set.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-shared-l11-s8",
          "needs_shared_model_guide": true,
          "decision_type": "cross_shot_continuity",
          "confidence": "high",
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity"
          ],
          "evidence": [
            {
              "shot_key": "8:4",
              "source_field": "camera_direction",
              "quote": "From inside the store on the employees’ side"
            },
            {
              "shot_key": "8:5",
              "source_field": "camera_direction",
              "quote": "Outside the store"
            }
          ],
          "guide_scope": "group",
          "risk_notes": "The shots cover the same location from opposing sides of a structure (inside looking out vs. outside looking back), requiring a shared map to keep the store's architecture and the adjacent street consistent across the cut.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l11-s19-sh6",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "camera_or_framing_risk",
            "occlusion_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "19:6",
              "source_field": "camera_direction",
              "quote": "hold a static wide view of 수리영 and 마트 남자 직원 side by side"
            },
            {
              "shot_key": "19:6",
              "source_field": "camera_direction",
              "quote": "Keep their full figures in the lower half and the surveillance camera high within the same frame"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The shot requires specific vertical framing to include both the figures in the lower half and the CCTV camera high up, which poses a framing risk that a layout sketch can help secure.",
          "admit": true,
          "deny_reason": null
        }
      ],
      "shared_model_attach_decisions": [
        {
          "group_id": "osl-shared-l01-s1",
          "scene_index": 1,
          "base_cache_key": "a5236c6af8389d46",
          "attached_shots": [
            "1:3",
            "1:5"
          ],
          "attached": true
        },
        {
          "group_id": "osl-single-l02-s2-sh2",
          "scene_index": 2,
          "base_cache_key": "4db34864d49ca1bb",
          "attached_shots": [
            "2:2"
          ],
          "attached": true
        },
        {
          "group_id": "osl-single-l03-s3-sh2",
          "scene_index": 3,
          "base_cache_key": "73bdf6d14eb0c242",
          "attached_shots": [
            "3:2"
          ],
          "attached": true
        },
        {
          "group_id": "osl-shared-l05-s13",
          "scene_index": 13,
          "base_cache_key": "f33d34859cdb44aa",
          "attached_shots": [
            "13:4",
            "13:5"
          ],
          "attached": true
        },
        {
          "group_id": "osl-single-l05-s11-sh3",
          "scene_index": 11,
          "base_cache_key": "fe79171ab769ee6b",
          "attached_shots": [
            "11:3"
          ],
          "attached": true
        },
        {
          "group_id": "osl-single-l07-s6-sh1",
          "scene_index": 6,
          "base_cache_key": "a012c4f1796b8ffc",
          "attached_shots": [
            "6:1"
          ],
          "attached": true
        },
        {
          "group_id": "osl-single-l07-s9-sh1",
          "scene_index": 9,
          "base_cache_key": "636059448d64b3a1",
          "attached_shots": [
            "9:1"
          ],
          "attached": true
        },
        {
          "group_id": "osl-shared-l08-s7",
          "scene_index": 7,
          "base_cache_key": "ee5dc9dc020693b4",
          "attached_shots": [
            "7:2",
            "7:4"
          ],
          "attached": true
        },
        {
          "group_id": "osl-shared-l11-s8",
          "scene_index": 8,
          "base_cache_key": "3dd1bc29cf684787",
          "attached_shots": [],
          "attached": false,
          "fail_stage": "pose_brief"
        },
        {
          "group_id": "osl-single-l11-s19-sh6",
          "scene_index": 19,
          "base_cache_key": "f30387394eb56ec4",
          "attached_shots": [
            "19:6"
          ],
          "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-l02-s2-sh2",
          "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-s3-sh2",
          "decision_type": "single_shot_complexity",
          "is_single_shot_candidate": true,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l05-s11-sh3",
          "decision_type": "single_shot_complexity",
          "is_single_shot_candidate": true,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l07-s6-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-l07-s9-sh1",
          "decision_type": "single_shot_complexity",
          "is_single_shot_candidate": true,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-shared-l08-s7",
          "decision_type": "both",
          "is_single_shot_candidate": false,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l11-s19-sh6",
          "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": "S8sh4",
          "group_id": "osl-shared-l11-s8",
          "figure_count": 1,
          "had_body": true
        }
      ],
      "shared_model_optical_risk_excluded": [],
      "shared_model_building_fp_link": {
        "L04": {
          "fp_id": "fp_l06_main_interior",
          "indoor_loc_sid": "L06",
          "group_id": "bg_rooftop_residence"
        },
        "L05": {
          "fp_id": "fp_l06_main_interior",
          "indoor_loc_sid": "L06",
          "group_id": "bg_rooftop_residence"
        },
        "L11": {
          "fp_id": "fp_l15_security_office",
          "indoor_loc_sid": "L15",
          "group_id": "bg_large_retail_store"
        },
        "L14": {
          "fp_id": "fp_l13_police_office",
          "indoor_loc_sid": "L13",
          "group_id": "bg_police_station"
        },
        "L19": {
          "fp_id": "fp_l20_wheelhouse",
          "indoor_loc_sid": "L20",
          "group_id": "bg_small_fishing_vessel"
        }
      },
      "shared_model_image_calls": {
        "predicted": {
          "base": 9,
          "blocking": 9,
          "camera_view_sketch": 9
        },
        "actual": {
          "base": 9,
          "blocking": 9,
          "camera_view_sketch": 9
        },
        "predicted_call_count": 27,
        "actual_call_count": 27,
        "continuity_anchor_generation_calls": 0
      },
      "shared_model_chain_lineage": {
        "annotated": [
          {
            "asset": "abb9cafa-11bc-4129-afee-63e1b890c8ef",
            "role": "outdoor_shot_blocking",
            "input": "4bf44972-016d-4068-b6d5-10ca23ccef75"
          },
          {
            "asset": "c22f330c-0292-467d-b3f0-ef39cd7b5afc",
            "role": "outdoor_camera_sketch",
            "input": "abb9cafa-11bc-4129-afee-63e1b890c8ef"
          },
          {
            "asset": "67aa0611-9f9d-4051-810f-ce09195fdac8",
            "role": "outdoor_shot_blocking",
            "input": "163323a6-d038-4851-a202-158833ae3b3d"
          },
          {
            "asset": "d31daf01-6f3c-4ede-ac07-8378081056ed",
            "role": "outdoor_camera_sketch",
            "input": "67aa0611-9f9d-4051-810f-ce09195fdac8"
          },
          {
            "asset": "573e5099-56fc-40de-8e8b-c17aa83d43f1",
            "role": "outdoor_shot_blocking",
            "input": "fc6e4c97-6cbd-4041-95ea-4ad7b6dc1e5b"
          },
          {
            "asset": "bdd42c5e-5f38-4cd0-841a-0ef741fda77c",
            "role": "outdoor_camera_sketch",
            "input": "573e5099-56fc-40de-8e8b-c17aa83d43f1"
          },
          {
            "asset": "3dcd1ebe-c8a4-4ba0-a428-ab988e5fdf36",
            "role": "outdoor_shot_blocking",
            "input": "55bdec17-4698-4ef3-90e8-eb98e9c99dda"
          },
          {
            "asset": "202cc997-9a94-40a2-93c5-dbaeb6f7d8e8",
            "role": "outdoor_camera_sketch",
            "input": "3dcd1ebe-c8a4-4ba0-a428-ab988e5fdf36"
          },
          {
            "asset": "3e427e65-2a96-441f-822d-31979c3d8713",
            "role": "outdoor_shot_blocking",
            "input": "5abbf6ac-1f21-43a7-b020-299d799f4fea"
          },
          {
            "asset": "9700e8cc-6d12-4fa1-ac12-a78dbf84f874",
            "role": "outdoor_camera_sketch",
            "input": "3e427e65-2a96-441f-822d-31979c3d8713"
          },
          {
            "asset": "83370900-c9f8-48ff-af43-84a0ac395ccf",
            "role": "outdoor_shot_blocking",
            "input": "f7f688dd-6c28-40df-bcd1-5a23c13b1e7f"
          },
          {
            "asset": "453918fe-b82b-4898-9af5-84f60b311512",
            "role": "outdoor_camera_sketch",
            "input": "83370900-c9f8-48ff-af43-84a0ac395ccf"
          },
          {
            "asset": "720c801b-dce3-4967-aea3-f7a977de6b71",
            "role": "outdoor_shot_blocking",
            "input": "3db4cdc8-db1b-439f-9e0b-1493d537b555"
          },
          {
            "asset": "4bb3181d-32ed-4350-b1eb-82cc19e8636a",
            "role": "outdoor_camera_sketch",
            "input": "720c801b-dce3-4967-aea3-f7a977de6b71"
          },
          {
            "asset": "bd307fc1-f95a-4d40-97f3-4c0f8aa1c09e",
            "role": "outdoor_shot_blocking",
            "input": "533ac944-d840-4d59-b9b9-37f4eb9bcf07"
          },
          {
            "asset": "0e011846-ef13-4dab-b3f0-9a7738c00069",
            "role": "outdoor_camera_sketch",
            "input": "bd307fc1-f95a-4d40-97f3-4c0f8aa1c09e"
          },
          {
            "asset": "469ba73b-ad09-45e5-8cf1-19490696f0a3",
            "role": "outdoor_shot_blocking",
            "input": "ddb011a3-8e75-44f0-b7ab-8359ef1c46dd"
          },
          {
            "asset": "c089a54e-c2ed-4ffe-9262-01333a25e9fe",
            "role": "outdoor_camera_sketch",
            "input": "469ba73b-ad09-45e5-8cf1-19490696f0a3"
          }
        ],
        "unresolved": [],
        "guide_asset_resolved": [
          {
            "shot": "1:3",
            "asset": "c22f330c-0292-467d-b3f0-ef39cd7b5afc"
          },
          {
            "shot": "2:2",
            "asset": "d31daf01-6f3c-4ede-ac07-8378081056ed"
          },
          {
            "shot": "3:2",
            "asset": "bdd42c5e-5f38-4cd0-841a-0ef741fda77c"
          },
          {
            "shot": "13:4",
            "asset": "202cc997-9a94-40a2-93c5-dbaeb6f7d8e8"
          },
          {
            "shot": "11:3",
            "asset": "9700e8cc-6d12-4fa1-ac12-a78dbf84f874"
          },
          {
            "shot": "6:1",
            "asset": "453918fe-b82b-4898-9af5-84f60b311512"
          },
          {
            "shot": "9:1",
            "asset": "4bb3181d-32ed-4350-b1eb-82cc19e8636a"
          },
          {
            "shot": "7:2",
            "asset": "0e011846-ef13-4dab-b3f0-9a7738c00069"
          },
          {
            "shot": "19:6",
            "asset": "c089a54e-c2ed-4ffe-9262-01333a25e9fe"
          }
        ],
        "guide_asset_unresolved": []
      }
    },
    "composition_guides": {
      "1:3": {
        "mode": "sketch",
        "path": "composition_guides/S1sh3.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:3",
              "source_field": "camera_direction",
              "quote": "From upper-thigh height on the injured side, the camera holds a tight lateral close-up"
            },
            {
              "shot_key": "1:5",
              "source_field": "camera_direction",
              "quote": "At waist height and several meters away, the camera reaches the end of its rapid dolly-out in a wide, slightly canted lateral view, preserving both figures head to foot"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "figure_placement_continuity",
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "a5236c6af8389d46",
        "base_hash": "41531bc360c8e826",
        "base_prompt_hash": "785fe78bbec7ea1c",
        "building_fp_id": "",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "a127902572d39e05",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "13163a4524e60916",
        "camera_brief_hash": "a7a8dac9312621c8",
        "camera_view_sketch_hash": "95185c7c56d9c218",
        "sketch_prompt_hash": "e2d0e7c89bfa5984",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "습격당한 남자"
        ],
        "guide_asset_id": "c22f330c-0292-467d-b3f0-ef39cd7b5afc"
      },
      "1:5": {
        "mode": "continuity_anchor",
        "anchor_source": [
          1,
          3
        ],
        "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:3",
              "source_field": "camera_direction",
              "quote": "From upper-thigh height on the injured side, the camera holds a tight lateral close-up"
            },
            {
              "shot_key": "1:5",
              "source_field": "camera_direction",
              "quote": "At waist height and several meters away, the camera reaches the end of its rapid dolly-out in a wide, slightly canted lateral view, preserving both figures head to foot"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "figure_placement_continuity",
            "camera_or_framing_risk"
          ]
        },
        "forced_character_names": [
          "습격당한 남자"
        ]
      },
      "2:2": {
        "mode": "sketch",
        "path": "composition_guides/S2sh2.png",
        "location_id": "L02",
        "group_id": "osl-single-l02-s2-sh2",
        "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": "2:2",
              "source_field": "camera_direction",
              "quote": "compressed side close-up, placing the attacker's red eye in the upper third and his teeth pulling her neck at center. Their overlapping profiles occupy most of the frame"
            }
          ],
          "reasons": [
            "occlusion_or_framing_risk",
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "4db34864d49ca1bb",
        "base_hash": "119201f4dac839fd",
        "base_prompt_hash": "856470be3772df24",
        "building_fp_id": "",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "d68b62650b1e50a1",
        "pose_brief_present": true,
        "pose_brief_figures": 2,
        "pose_brief_hash": "c9bf5850959edaaa",
        "camera_brief_hash": "7a15edc5b90b8027",
        "camera_view_sketch_hash": "997a37a678ab7d72",
        "sketch_prompt_hash": "e960aa8ae570be0d",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "습격당한 여자",
          "정체불명의 아시아인 남성 (포식 활성 상태)"
        ],
        "guide_asset_id": "d31daf01-6f3c-4ede-ac07-8378081056ed"
      },
      "3:2": {
        "mode": "sketch",
        "path": "composition_guides/S3sh2.png",
        "location_id": "L03",
        "group_id": "osl-single-l03-s3-sh2",
        "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:2",
              "source_field": "camera_direction",
              "quote": "The nearest detectives remain cropped at the lower side edges as restrained over-shoulder layers"
            }
          ],
          "reasons": [
            "depth_layering",
            "occlusion_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "73bdf6d14eb0c242",
        "base_hash": "127aa24a3cc1ca84",
        "base_prompt_hash": "a0678189be6f711a",
        "building_fp_id": "",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "6362e6ff9ebf224d",
        "pose_brief_present": true,
        "pose_brief_figures": 3,
        "pose_brief_hash": "c3a4a4bea2ccb924",
        "camera_brief_hash": "0c3e483da61da6ff",
        "camera_view_sketch_hash": "fde640b2b60def96",
        "sketch_prompt_hash": "0384d48bf3dd9647",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "형사 무리",
          "혜수"
        ],
        "guide_asset_id": "bdd42c5e-5f38-4cd0-841a-0ef741fda77c"
      },
      "13:4": {
        "mode": "sketch",
        "path": "composition_guides/S13sh4.png",
        "location_id": "L05",
        "group_id": "osl-shared-l05-s13",
        "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": "13:4",
              "source_field": "camera_direction",
              "quote": "At eye level directly in front of 수리영, the camera holds an uncompromising close-up"
            },
            {
              "shot_key": "13:5",
              "source_field": "camera_direction",
              "quote": "At chest height a few steps to the side, a static medium two-shot places 혜수 on the left and 수리영 on the right in opposing profiles"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "figure_placement_continuity"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "f33d34859cdb44aa",
        "base_hash": "2b0ad46db32c8cf9",
        "base_prompt_hash": "29630ea4993ff680",
        "building_fp_id": "fp_l06_main_interior",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "0ea3c76c4538edff",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "0711b2cc936a917c",
        "camera_brief_hash": "65bd036e8da51074",
        "camera_view_sketch_hash": "cb7bea8a53a2224b",
        "sketch_prompt_hash": "68b100ff1da9c8dc",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "수리영"
        ],
        "guide_asset_id": "202cc997-9a94-40a2-93c5-dbaeb6f7d8e8"
      },
      "13:5": {
        "mode": "continuity_anchor",
        "anchor_source": [
          13,
          4
        ],
        "location_id": "L05",
        "group_id": "osl-shared-l05-s13",
        "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": "13:4",
              "source_field": "camera_direction",
              "quote": "At eye level directly in front of 수리영, the camera holds an uncompromising close-up"
            },
            {
              "shot_key": "13:5",
              "source_field": "camera_direction",
              "quote": "At chest height a few steps to the side, a static medium two-shot places 혜수 on the left and 수리영 on the right in opposing profiles"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "figure_placement_continuity"
          ]
        },
        "forced_character_names": [
          "수리영"
        ]
      },
      "11:3": {
        "mode": "sketch",
        "path": "composition_guides/S11sh3.png",
        "location_id": "L05",
        "group_id": "osl-single-l05-s11-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": "11:3",
              "source_field": "camera_direction",
              "quote": "includes her full body in the lower-left and the half-open iron entrance door ahead in the upper-right"
            }
          ],
          "reasons": [
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "fe79171ab769ee6b",
        "base_hash": "976647c027ea496b",
        "base_prompt_hash": "29630ea4993ff680",
        "building_fp_id": "fp_l06_main_interior",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "015ffc28e501c289",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "ad14c2d52c81453e",
        "camera_brief_hash": "f084e11b7900767b",
        "camera_view_sketch_hash": "b5189280f8734cf5",
        "sketch_prompt_hash": "52eb654e57185bab",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "수리영"
        ],
        "guide_asset_id": "9700e8cc-6d12-4fa1-ac12-a78dbf84f874"
      },
      "6:1": {
        "mode": "sketch",
        "path": "composition_guides/S6sh1.png",
        "location_id": "L07",
        "group_id": "osl-single-l07-s6-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": "6:1",
              "source_field": "camera_direction",
              "quote": "At waist height directly beside the bicycle, the camera tracks parallel in a full-body side view"
            }
          ],
          "reasons": [
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "a012c4f1796b8ffc",
        "base_hash": "1ad312a627ef9959",
        "base_prompt_hash": "c6ac3641e45e57d4",
        "building_fp_id": "",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "dad35e85f6ab4c24",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "76b7fc644026794f",
        "camera_brief_hash": "996aac10bf792b27",
        "camera_view_sketch_hash": "acb100ef5f93db0a",
        "sketch_prompt_hash": "7808cb0a9df0afc1",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "수리영"
        ],
        "guide_asset_id": "453918fe-b82b-4898-9af5-84f60b311512"
      },
      "9:1": {
        "mode": "sketch",
        "path": "composition_guides/S9sh1.png",
        "location_id": "L07",
        "group_id": "osl-single-l07-s9-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": "9:1",
              "source_field": "camera_direction",
              "quote": "At hip height beside the bicycle, the camera travels parallel as 수리영 rides screen-left to screen-right, lowering slightly to hold her bent knee"
            }
          ],
          "reasons": [
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "636059448d64b3a1",
        "base_hash": "4e5437106d7b1502",
        "base_prompt_hash": "c6ac3641e45e57d4",
        "building_fp_id": "",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "8a3660f7662851cc",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "a1174db4b00fceeb",
        "camera_brief_hash": "996aac10bf792b27",
        "camera_view_sketch_hash": "e70020dafe3c3ebc",
        "sketch_prompt_hash": "f41648a5a1b2316f",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "수리영"
        ],
        "guide_asset_id": "4bb3181d-32ed-4350-b1eb-82cc19e8636a"
      },
      "7:2": {
        "mode": "sketch",
        "path": "composition_guides/S7sh2.png",
        "location_id": "L08",
        "group_id": "osl-shared-l08-s7",
        "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": "7:2",
              "source_field": "camera_direction",
              "quote": "The back of the 로트와일러's lowered head remains as a restrained, soft foreground edge below her eyeline"
            },
            {
              "shot_key": "7:4",
              "source_field": "camera_direction",
              "quote": "placing her rigid upper body in the left-center with the phone clearly pressed to her ear. The row of occupied enclosures recedes across the right background"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "figure_placement_continuity",
            "depth_layering",
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "ee5dc9dc020693b4",
        "base_hash": "529cbdb19ba277f7",
        "base_prompt_hash": "acab9da7808ec884",
        "building_fp_id": "",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "206dfd9ab1d532cd",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "04a6314636367f64",
        "camera_brief_hash": "ce1d507d5e8748a9",
        "camera_view_sketch_hash": "18eb52a1b5a76277",
        "sketch_prompt_hash": "a3f39e55e84d325c",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "로트와일러",
          "수리영"
        ],
        "guide_asset_id": "0e011846-ef13-4dab-b3f0-9a7738c00069"
      },
      "7:4": {
        "mode": "continuity_anchor",
        "anchor_source": [
          7,
          2
        ],
        "location_id": "L08",
        "group_id": "osl-shared-l08-s7",
        "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": "7:2",
              "source_field": "camera_direction",
              "quote": "The back of the 로트와일러's lowered head remains as a restrained, soft foreground edge below her eyeline"
            },
            {
              "shot_key": "7:4",
              "source_field": "camera_direction",
              "quote": "placing her rigid upper body in the left-center with the phone clearly pressed to her ear. The row of occupied enclosures recedes across the right background"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "figure_placement_continuity",
            "depth_layering",
            "camera_or_framing_risk"
          ]
        },
        "forced_character_names": [
          "수리영"
        ]
      },
      "19:6": {
        "mode": "sketch",
        "path": "composition_guides/S19sh6.png",
        "location_id": "L11",
        "group_id": "osl-single-l11-s19-sh6",
        "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": "19:6",
              "source_field": "camera_direction",
              "quote": "hold a static wide view of 수리영 and 마트 남자 직원 side by side"
            },
            {
              "shot_key": "19:6",
              "source_field": "camera_direction",
              "quote": "Keep their full figures in the lower half and the surveillance camera high within the same frame"
            }
          ],
          "reasons": [
            "camera_or_framing_risk",
            "occlusion_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "f30387394eb56ec4",
        "base_hash": "3d0c02cf3351f5e2",
        "base_prompt_hash": "0fd756f134f99429",
        "building_fp_id": "fp_l15_security_office",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "05c373fed56a4076",
        "pose_brief_present": true,
        "pose_brief_figures": 2,
        "pose_brief_hash": "237b9dbd675c0aa8",
        "camera_brief_hash": "39c74c49d14981db",
        "camera_view_sketch_hash": "23697145250630fc",
        "sketch_prompt_hash": "a58ad64082b33b24",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "마트 남자 직원",
          "수리영"
        ],
        "guide_asset_id": "c089a54e-c2ed-4ffe-9262-01333a25e9fe"
      }
    },
    "review_html": "review_html/index.html"
  },
  "step_id": "outdoor_site_layout",
  "run_id": "43b87293-bbc1-4308-8245-1c25ec40f3af",
  "resolved_model": "gpt",
  "updated_at": "2026-07-20T10:26:01.975569+00:00",
  "project_config_snapshot": {}
}