{
  "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,
            1
          ],
          [
            1,
            4
          ],
          [
            3,
            2
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                50,
                60
              ],
              "pos": [
                50,
                54
              ],
              "shot_index": 1
            },
            {
              "look_at": [
                50,
                68
              ],
              "pos": [
                50,
                48
              ],
              "shot_index": 4
            },
            {
              "look_at": [
                54,
                51
              ],
              "pos": [
                60,
                43
              ],
              "shot_index": 2
            }
          ],
          "figures": [
            {
              "entity_token": "C01",
              "figure_id": "figure_korean_man",
              "label": "한국인 남자",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    50,
                    60
                  ],
                  "shot_index": 1
                },
                {
                  "moving_toward": null,
                  "pos": [
                    50,
                    58
                  ],
                  "shot_index": 4
                }
              ]
            },
            {
              "entity_token": null,
              "figure_id": "figure_black_silhouette",
              "label": "검은 인영",
              "positions": [
                {
                  "moving_toward": [
                    50,
                    58
                  ],
                  "pos": [
                    50,
                    70
                  ],
                  "shot_index": 4
                }
              ]
            },
            {
              "entity_token": null,
              "figure_id": "figure_hyesu",
              "label": "혜수",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    54,
                    51
                  ],
                  "shot_index": 2
                }
              ]
            },
            {
              "entity_token": null,
              "figure_id": "figure_investigation_group_1",
              "label": "investigation group",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    49,
                    51
                  ],
                  "shot_index": 2
                }
              ]
            },
            {
              "entity_token": null,
              "figure_id": "figure_investigation_group_2",
              "label": "investigation group",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    60,
                    53
                  ],
                  "shot_index": 2
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": null,
              "id": "forest_interior",
              "kind": "area",
              "label": "forest interior",
              "points": [
                [
                  5,
                  5
                ],
                [
                  95,
                  5
                ],
                [
                  95,
                  95
                ],
                [
                  5,
                  95
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "dense_forest_undergrowth",
              "kind": "area",
              "label": "dense forest undergrowth",
              "points": [
                [
                  15,
                  15
                ],
                [
                  85,
                  15
                ],
                [
                  85,
                  90
                ],
                [
                  15,
                  90
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "police_line",
              "kind": "line",
              "label": "police line",
              "points": [
                [
                  20,
                  64
                ],
                [
                  80,
                  64
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "1:1": "SHOT 1 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- forest interior: at the near center of the frame.\n- dense forest undergrowth: at the near center of the frame.\n- police line (path): runs from the far left side of the frame to the far right side of the frame.\nFIGURES:\n- 한국인 남자 (C01): at the near center of the frame — NEAREST figure to the camera.",
          "1: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- forest interior: at the near center of the frame.\n- dense forest undergrowth: at the near center of the frame.\n- police line (path): runs from the far left side of the frame to the far right side of the frame.\nFIGURES:\n- 한국인 남자 (C01): at the near center of the frame — NEAREST figure to the camera.\n- 검은 인영: at the mid-distance center of the frame; about 2.2x as far from the camera as the nearest figure, so they must appear roughly 0.45x 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.",
          "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- forest interior: at the mid-distance left side of the frame.\n- dense forest undergrowth: at the mid-distance center of the frame.\n- police line (path): runs from the far right side of the frame to the far left side of the frame.\nFIGURES:\n- 혜수: at the near center of the frame — NEAREST figure to the camera.\n- investigation group: 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).\n- investigation group: at the mid-distance left side of the frame; about 1.4x as far from the camera as the nearest figure, so they must appear roughly 0.74x the nearest figure's height (smaller, deeper in the frame).\nDEPTH CONTRACT: investigation group is farther than 혜수 and must read visibly smaller and deeper in the frame."
        }
      },
      {
        "group_id": "osl-l03",
        "location_id": "L03",
        "member_shots": [
          [
            4,
            1
          ],
          [
            10,
            2
          ],
          [
            10,
            6
          ],
          [
            11,
            4
          ],
          [
            16,
            1
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                50,
                55
              ],
              "pos": [
                50,
                8
              ],
              "shot_index": 1
            },
            {
              "look_at": [
                61,
                51
              ],
              "pos": [
                58,
                59
              ],
              "shot_index": 2
            },
            {
              "look_at": [
                64,
                35
              ],
              "pos": [
                56,
                34
              ],
              "shot_index": 6
            },
            {
              "look_at": [
                65,
                45
              ],
              "pos": [
                65,
                58
              ],
              "shot_index": 4
            },
            {
              "look_at": [
                50,
                45
              ],
              "pos": [
                50,
                82
              ],
              "shot_index": 1
            }
          ],
          "figures": [
            {
              "entity_token": "C01",
              "figure_id": "figure_한국인_남자",
              "label": "한국인 남자",
              "positions": [
                {
                  "moving_toward": [
                    65,
                    45
                  ],
                  "pos": [
                    61,
                    51
                  ],
                  "shot_index": 2
                },
                {
                  "moving_toward": null,
                  "pos": [
                    64,
                    35
                  ],
                  "shot_index": 6
                }
              ]
            },
            {
              "entity_token": "C05",
              "figure_id": "figure_민숙",
              "label": "민숙",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    64.2,
                    35.8
                  ],
                  "shot_index": 6
                }
              ]
            },
            {
              "entity_token": "C09",
              "figure_id": "figure_검은_고양이",
              "label": "검은 고양이",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    35,
                    58
                  ],
                  "shot_index": 1
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": null,
              "id": "lm_old_multi_unit_villa",
              "kind": "area",
              "label": "낡은 다세대 빌라",
              "points": [
                [
                  20,
                  20
                ],
                [
                  80,
                  20
                ],
                [
                  80,
                  92
                ],
                [
                  20,
                  92
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "lm_rooftop",
              "kind": "area",
              "label": "옥탑방 옥상",
              "points": [
                [
                  24,
                  24
                ],
                [
                  76,
                  24
                ],
                [
                  76,
                  68
                ],
                [
                  24,
                  68
                ]
              ]
            },
            {
              "faces_toward": [
                65,
                55
              ],
              "id": "lm_rooftop_room",
              "kind": "area",
              "label": "옥탑방",
              "points": [
                [
                  55,
                  25
                ],
                [
                  75,
                  25
                ],
                [
                  75,
                  45
                ],
                [
                  55,
                  45
                ]
              ]
            },
            {
              "faces_toward": [
                65,
                55
              ],
              "id": "lm_iron_entrance_door",
              "kind": "line",
              "label": "현관 철문",
              "points": [
                [
                  62,
                  45
                ],
                [
                  68,
                  45
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "lm_water_tank",
              "kind": "point",
              "label": "물탱크",
              "points": [
                [
                  32,
                  32
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "lm_stairs_to_rooftop",
              "kind": "line",
              "label": "옥탑방과 연결되는 계단",
              "points": [
                [
                  66,
                  83
                ],
                [
                  66,
                  68
                ],
                [
                  66,
                  56
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "lm_courtyard",
              "kind": "area",
              "label": "마당",
              "points": [
                [
                  25,
                  72
                ],
                [
                  75,
                  72
                ],
                [
                  75,
                  92
                ],
                [
                  25,
                  92
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "lm_alley",
              "kind": "line",
              "label": "골목길",
              "points": [
                [
                  10,
                  96
                ],
                [
                  90,
                  96
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "lm_wall",
              "kind": "line",
              "label": "담",
              "points": [
                [
                  15,
                  58
                ],
                [
                  50,
                  58
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "4:1": "SHOT 1 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- 낡은 다세대 빌라: at the near center of the frame.\n- 옥탑방 옥상: at the near center of the frame.\n- 옥탑방: at the near right side of the frame.\n- 현관 철문 (path): runs from the near right side of the frame to the near right side of the frame.\n- 물탱크: at the near left side of the frame.\n- 옥탑방과 연결되는 계단 (path): runs from the near right side of the frame to the mid-distance right side of the frame.\n- 마당: at the mid-distance center of the frame.\n- 골목길 (path): runs from the mid-distance left side of the frame to the mid-distance right side of the frame.\n- 담 (path): runs from the near center of the frame to the near left side of the frame.\nFIGURES:\n- 검은 고양이 (C09): at the near left side of the frame — NEAREST figure to the camera.",
          "10: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- 낡은 다세대 빌라: at the near right side of the frame.\n- 옥탑방 옥상: at the mid-distance right side of the frame.\n- 옥탑방: at the far center of the frame.\n- 현관 철문 (path): runs from the mid-distance center of the frame to the mid-distance left side of the frame.\n- 물탱크: at the far right side of the frame.\n- 옥탑방과 연결되는 계단 (path): runs from the near left side of the frame to the far left side of the frame.\n- 마당: at the far center 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 near right side of the frame to the far right side 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 mid-distance center of the frame; NOT heading into the 낡은 다세대 빌라.",
          "10:6": "SHOT 6 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- 낡은 다세대 빌라: at the far left side of the frame.\n- 옥탑방 옥상: at the mid-distance left side of the frame.\n- 옥탑방: at the near center of the frame.\n- 현관 철문 (path): runs from the mid-distance left side of the frame to the mid-distance left side of the frame.\n- 물탱크: at the far center of the frame.\n- 옥탑방과 연결되는 계단 (path): runs from the far left side of the frame to the far left side of the frame.\n- 마당: at 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.\n- 담 (path): runs from the far left side of the frame to the far left side of the frame.\nFIGURES:\n- 한국인 남자 (C01): 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 0.96x 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.",
          "16: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- 낡은 다세대 빌라: at the near center of the frame.\n- 옥탑방 옥상: at the near center of the frame.\n- 옥탑방: at the near right side of the frame.\n- 현관 철문 (path): runs from the near right side of the frame to the near right side of the frame.\n- 물탱크: at the near left side of the frame.\n- 옥탑방과 연결되는 계단 (path): runs from the near right side of the frame to the mid-distance right side of the frame.\n- 마당: at the mid-distance center of the frame.\n- 골목길 (path): runs from the mid-distance left side of the frame to the mid-distance right side of the frame.\n- 담 (path): runs from the near center of the frame to the near left side of the frame.\nFIGURES:\n- 검은 고양이 (C09): at the near left side of the frame — NEAREST figure to the camera."
        }
      },
      {
        "group_id": "osl-l04",
        "location_id": "L04",
        "member_shots": [
          [
            11,
            3
          ],
          [
            13,
            3
          ],
          [
            13,
            4
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                62,
                72
              ],
              "pos": [
                66,
                79
              ],
              "shot_index": 3
            },
            {
              "look_at": [
                50,
                34
              ],
              "pos": [
                50,
                22
              ],
              "shot_index": 3
            },
            {
              "look_at": [
                51.5,
                34
              ],
              "pos": [
                51,
                22
              ],
              "shot_index": 4
            }
          ],
          "figures": [
            {
              "entity_token": "C06",
              "figure_id": "figure_수리영",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    62,
                    72
                  ],
                  "shot_index": 3
                },
                {
                  "moving_toward": null,
                  "pos": [
                    50,
                    34
                  ],
                  "shot_index": 3
                },
                {
                  "moving_toward": null,
                  "pos": [
                    48,
                    34
                  ],
                  "shot_index": 4
                }
              ]
            },
            {
              "entity_token": "C04",
              "figure_id": "figure_혜수",
              "label": "혜수",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    55,
                    33
                  ],
                  "shot_index": 4
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": null,
              "id": "lm_alley",
              "kind": "line",
              "label": "골목길",
              "points": [
                [
                  10,
                  8
                ],
                [
                  90,
                  8
                ]
              ]
            },
            {
              "faces_toward": [
                45,
                8
              ],
              "id": "lm_villa_door",
              "kind": "point",
              "label": "다세대 빌라 문",
              "points": [
                [
                  45,
                  16
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "lm_yard",
              "kind": "area",
              "label": "마당",
              "points": [
                [
                  25,
                  16
                ],
                [
                  75,
                  16
                ],
                [
                  75,
                  45
                ],
                [
                  25,
                  45
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "lm_rear_yard",
              "kind": "area",
              "label": "마당 후미진 곳",
              "points": [
                [
                  42,
                  34
                ],
                [
                  62,
                  34
                ],
                [
                  62,
                  45
                ],
                [
                  42,
                  45
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "lm_stairway",
              "kind": "line",
              "label": "옥탑방과 연결되는 계단",
              "points": [
                [
                  50,
                  34
                ],
                [
                  57,
                  54
                ],
                [
                  62,
                  72
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "lm_rooftop",
              "kind": "area",
              "label": "옥상",
              "points": [
                [
                  50,
                  65
                ],
                [
                  86,
                  65
                ],
                [
                  86,
                  95
                ],
                [
                  50,
                  95
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "lm_rooftop_landing",
              "kind": "area",
              "label": "옥탑 계단 상부 랜딩",
              "points": [
                [
                  58,
                  68
                ],
                [
                  67,
                  68
                ],
                [
                  67,
                  76
                ],
                [
                  58,
                  76
                ]
              ]
            },
            {
              "faces_toward": [
                62,
                72
              ],
              "id": "lm_iron_entrance_door",
              "kind": "point",
              "label": "반쯤 열린 현관 철문",
              "points": [
                [
                  68,
                  83
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "lm_rooftop_room",
              "kind": "area",
              "label": "옥탑방",
              "points": [
                [
                  66,
                  79
                ],
                [
                  84,
                  79
                ],
                [
                  84,
                  94
                ],
                [
                  66,
                  94
                ]
              ]
            }
          ]
        },
        "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 left side 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.\n- 옥탑방과 연결되는 계단 (path): runs from the near center of the frame to the far center of the frame.\n- 옥상: at the near left side of the frame.\n- 옥탑 계단 상부 랜딩: at the near center of the frame.\n- 반쯤 열린 현관 철문: at the near center of the frame.\n- 옥탑방: at the mid-distance left side of the frame.\nFIGURES:\n- 수리영 (C06): at the near center of the frame — NEAREST figure to the camera.",
          "13: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 left side 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.\n- 옥탑방과 연결되는 계단 (path): runs from the near center of the frame to the far center of the frame.\n- 옥상: at the near left side of the frame.\n- 옥탑 계단 상부 랜딩: at the near center of the frame.\n- 반쯤 열린 현관 철문: at the near center of the frame.\n- 옥탑방: at the mid-distance left side of the frame.\nFIGURES:\n- 수리영 (C06): 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 far right side of the frame to the far left side of the frame.\n- 다세대 빌라 문: at the near left side of the frame.\n- 마당: at the near center 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 center of the frame.\n- 옥상: at the far right side of the frame.\n- 옥탑 계단 상부 랜딩: at the far center of the frame.\n- 반쯤 열린 현관 철문: at the far right side of the frame.\n- 옥탑방: at the far right side of the frame.\nFIGURES:\n- 혜수 (C04): at the near right side of the frame — NEAREST figure to the camera.\n- 수리영 (C06): at the near left side of the frame; about 1.1x as far from the camera as the nearest figure, so they must appear roughly 0.95x 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-l06",
        "location_id": "L06",
        "member_shots": [
          [
            6,
            2
          ],
          [
            9,
            1
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                62,
                46
              ],
              "pos": [
                58,
                55
              ],
              "shot_index": 2
            },
            {
              "look_at": [
                48,
                56
              ],
              "pos": [
                33,
                67
              ],
              "shot_index": 1
            }
          ],
          "figures": [
            {
              "entity_token": "C06",
              "figure_id": "figure_1",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": [
                    35,
                    65
                  ],
                  "pos": [
                    62,
                    46
                  ],
                  "shot_index": 2
                },
                {
                  "moving_toward": [
                    30,
                    69
                  ],
                  "pos": [
                    48,
                    56
                  ],
                  "shot_index": 1
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": null,
              "id": "landmark_1",
              "kind": "area",
              "label": "coastal road",
              "points": [
                [
                  8,
                  78
                ],
                [
                  84,
                  24
                ],
                [
                  92,
                  32
                ],
                [
                  16,
                  86
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "landmark_2",
              "kind": "line",
              "label": "shoreline",
              "points": [
                [
                  5,
                  68
                ],
                [
                  78,
                  16
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "landmark_3",
              "kind": "area",
              "label": "sea",
              "points": [
                [
                  0,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  20
                ],
                [
                  78,
                  16
                ],
                [
                  5,
                  68
                ],
                [
                  0,
                  70
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "6: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- coastal road (path): runs from the far left side of the frame to the far right side of the frame.\n- shoreline (path): runs from the far center of the frame to the far right side of the frame.\n- sea: at the far right side of the frame.\nFIGURES:\n- 수리영 (C06): 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 coastal road; NOT heading into the sea.",
          "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- coastal road (path): runs from the mid-distance right side of the frame to the far center of the frame.\n- shoreline (path): runs from the mid-distance right side of the frame to the far right side of the frame.\n- sea: at the mid-distance right side of the frame.\nFIGURES:\n- 수리영 (C06): at the near center of the frame — NEAREST figure to the camera; in motion: already partway along their path, heading toward the near center of the frame; their path follows the coastal road; NOT heading into the sea."
        }
      },
      {
        "group_id": "osl-l08",
        "location_id": "L08",
        "member_shots": [
          [
            8,
            4
          ],
          [
            8,
            5
          ],
          [
            18,
            4
          ],
          [
            18,
            5
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                55,
                40
              ],
              "pos": [
                55,
                46
              ],
              "shot_index": 804
            },
            {
              "look_at": [
                55,
                59
              ],
              "pos": [
                55,
                68
              ],
              "shot_index": 805
            },
            {
              "look_at": [
                55,
                52
              ],
              "pos": [
                55,
                66
              ],
              "shot_index": 1804
            },
            {
              "look_at": [
                56,
                59
              ],
              "pos": [
                55,
                63
              ],
              "shot_index": 1805
            }
          ],
          "figures": [
            {
              "entity_token": "C06",
              "figure_id": "figure_1",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    55,
                    40
                  ],
                  "shot_index": 804
                },
                {
                  "moving_toward": null,
                  "pos": [
                    55,
                    59
                  ],
                  "shot_index": 805
                },
                {
                  "moving_toward": null,
                  "pos": [
                    55,
                    59
                  ],
                  "shot_index": 1804
                },
                {
                  "moving_toward": null,
                  "pos": [
                    56,
                    59
                  ],
                  "shot_index": 1805
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": [
                55,
                65
              ],
              "id": "landmark_1",
              "kind": "area",
              "label": "대형 마트",
              "points": [
                [
                  35,
                  20
                ],
                [
                  75,
                  20
                ],
                [
                  75,
                  55
                ],
                [
                  35,
                  55
                ]
              ]
            },
            {
              "faces_toward": [
                55,
                65
              ],
              "id": "landmark_2",
              "kind": "line",
              "label": "마트 외벽",
              "points": [
                [
                  35,
                  55
                ],
                [
                  75,
                  55
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "landmark_3",
              "kind": "area",
              "label": "번화가 길거리",
              "points": [
                [
                  10,
                  56
                ],
                [
                  90,
                  56
                ],
                [
                  90,
                  78
                ],
                [
                  10,
                  78
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "landmark_4",
              "kind": "area",
              "label": "포구",
              "points": [
                [
                  0,
                  82
                ],
                [
                  100,
                  82
                ],
                [
                  100,
                  100
                ],
                [
                  0,
                  100
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {}
      },
      {
        "group_id": "osl-l11",
        "location_id": "L11",
        "member_shots": [
          [
            14,
            9
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                50,
                55
              ],
              "pos": [
                50,
                25
              ],
              "shot_index": 9
            }
          ],
          "figures": [
            {
              "entity_token": "C06",
              "figure_id": "figure_수리영",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    50,
                    43
                  ],
                  "shot_index": 9
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": null,
              "id": "landmark_sea",
              "kind": "area",
              "label": "sea",
              "points": [
                [
                  0,
                  62
                ],
                [
                  100,
                  62
                ],
                [
                  100,
                  100
                ],
                [
                  0,
                  100
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "landmark_coast",
              "kind": "line",
              "label": "coast",
              "points": [
                [
                  0,
                  62
                ],
                [
                  100,
                  62
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "landmark_bus_stop_vicinity",
              "kind": "area",
              "label": "bus stop vicinity",
              "points": [
                [
                  34,
                  30
                ],
                [
                  66,
                  30
                ],
                [
                  66,
                  50
                ],
                [
                  34,
                  50
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "14:9": "SHOT 9 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- sea (path): runs from the far left side of the frame to the far right side of the frame.\n- coast (path): runs from the far left side of the frame to the far right side of the frame.\n- bus stop vicinity: at the near center of the frame.\nFIGURES:\n- 수리영 (C06): at the near center of the frame — NEAREST figure to the camera."
        }
      },
      {
        "group_id": "osl-l13",
        "location_id": "L13",
        "member_shots": [
          [
            21,
            2
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                46,
                45
              ],
              "pos": [
                46,
                22
              ],
              "shot_index": 2
            }
          ],
          "figures": [
            {
              "entity_token": "C06",
              "figure_id": "figure_수리영",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": [
                    72,
                    45
                  ],
                  "pos": [
                    46,
                    45
                  ],
                  "shot_index": 2
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": null,
              "id": "landmark_police_station",
              "kind": "area",
              "label": "police station exterior",
              "points": [
                [
                  18,
                  56
                ],
                [
                  82,
                  56
                ],
                [
                  82,
                  88
                ],
                [
                  18,
                  88
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "21: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- police station exterior: at the mid-distance center of the frame.\nFIGURES:\n- 수리영 (C06): at the near center of the frame — NEAREST figure to the camera; in motion: already partway along their path, heading toward the mid-distance right side of the frame; NOT heading into the police station exterior."
        }
      },
      {
        "group_id": "osl-l15",
        "location_id": "L15",
        "member_shots": [
          [
            25,
            3
          ],
          [
            25,
            6
          ],
          [
            25,
            10
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                30,
                60
              ],
              "pos": [
                27,
                62
              ],
              "shot_index": 3
            },
            {
              "look_at": [
                62,
                46
              ],
              "pos": [
                62,
                58
              ],
              "shot_index": 6
            },
            {
              "look_at": [
                62,
                54
              ],
              "pos": [
                62,
                66
              ],
              "shot_index": 10
            }
          ],
          "figures": [
            {
              "entity_token": "C06",
              "figure_id": "F1",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    30,
                    60
                  ],
                  "shot_index": 3
                },
                {
                  "moving_toward": [
                    62,
                    46
                  ],
                  "pos": [
                    62,
                    68
                  ],
                  "shot_index": 6
                },
                {
                  "moving_toward": null,
                  "pos": [
                    62,
                    54
                  ],
                  "shot_index": 10
                }
              ]
            },
            {
              "entity_token": null,
              "figure_id": "F2",
              "label": "인우",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    62,
                    46
                  ],
                  "shot_index": 6
                }
              ]
            }
          ],
          "landmarks": [
            {
              "faces_toward": null,
              "id": "L1",
              "kind": "area",
              "label": "the sea",
              "points": [
                [
                  0,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  45
                ],
                [
                  70,
                  47
                ],
                [
                  40,
                  48
                ],
                [
                  0,
                  46
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "L2",
              "kind": "line",
              "label": "the shoreline",
              "points": [
                [
                  0,
                  46
                ],
                [
                  40,
                  48
                ],
                [
                  70,
                  47
                ],
                [
                  100,
                  45
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "L3",
              "kind": "area",
              "label": "shore rocks",
              "points": [
                [
                  8,
                  58
                ],
                [
                  18,
                  48
                ],
                [
                  45,
                  49
                ],
                [
                  43,
                  66
                ],
                [
                  20,
                  70
                ]
              ]
            },
            {
              "faces_toward": null,
              "id": "L4",
              "kind": "area",
              "label": "the dock",
              "points": [
                [
                  57,
                  82
                ],
                [
                  67,
                  82
                ],
                [
                  67,
                  36
                ],
                [
                  57,
                  36
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "25: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- the sea: at the far right side of the frame.\n- the shoreline (path): runs from the far right side of the frame to the far left side of the frame.\n- shore rocks: at the near right side of the frame.\n- the dock (path): runs from the far left side of the frame to the far center of the frame.\nFIGURES:\n- 수리영 (C06): at the near center of the frame — NEAREST figure to the camera.",
          "25: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- the sea: at the far right side of the frame.\n- the shoreline (path): runs from the far left side of the frame to the far right side of the frame.\n- shore rocks: at the far right side of the frame.\n- the dock (path): runs from the mid-distance left side of the frame to the mid-distance right side of the frame.\nFIGURES:\n- 수리영 (C06): at the near center of the frame — NEAREST figure to the camera; in motion: already partway along their path, heading toward the near center of the frame; their path follows the dock; NOT heading into the shore rocks.\n- 인우: at the near center of the frame; about 1.2x as far from the camera as the nearest figure, so they must appear roughly 0.83x the nearest figure's height (smaller, deeper in the frame).\nDEPTH CONTRACT: 인우 is farther than 수리영 and must read visibly smaller and deeper in the frame.",
          "25:10": "SHOT 10 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- the sea: at the far right side of the frame.\n- the shoreline (path): runs from the far left side of the frame to the far right side of the frame.\n- shore rocks: at the far right side of the frame.\n- the dock (path): runs from the mid-distance right side of the frame to the far center of the frame.\nFIGURES:\n- 수리영 (C06): at the near center of the frame — NEAREST figure to the camera."
        }
      }
    ],
    "prompt_overrides": {
      "1:4": {
        "location_id": "L01",
        "group_id": "osl-l01",
        "revised": {
          "0": "Photorealistic cinematic still. The police line path runs from the far left side of the frame to the far right side, with the forest interior and dense undergrowth near center. Captured at shoulder height behind the primary subject, C01O01 in stained casual clothing, a Korean adult male with a highly disheveled appearance, messy hair, sweat, and dirt on his exposed skin, positioned with back to camera in the lower foreground, bracing on an injured leg and gazing off-screen. He shares the same dense forest clearing with a human-shaped silhouette suspended above and behind him at the mid-distance center, visibly smaller and deeper in the frame than him, already partway along its path toward the near center of the frame. The dark figure is caught leaning mid-lunge at a left three-quarter angle at center, its posture following the left-to-right police line path toward the near center of the clearing, not into the lower foreground, face details fully obscured in shadow with a dark head outline and indistinct features, its body volume preserved by faint rim light against the gloom. The dense, overgrown forest at dusk surrounds them, thick untamed bushes framing the scene from both sides, illuminated only by dim, muted ambient light casting deep, oppressive shadows across the trees."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "0fb650f016e8cfe1",
            "revised_prompt_hash": "b022a0a4863836eb"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "",
              "revised": "The police line path runs from the far left side of the frame to the far right side, with the forest interior and dense undergrowth near center. "
            },
            {
              "original": "suspended above and behind him in the midground",
              "revised": "suspended above and behind him at the mid-distance center, visibly smaller and deeper in the frame than him, already partway along its path toward the near center of the frame"
            },
            {
              "original": "caught leaning mid-lunge at three-quarter angle from the left, its posture directed toward the man in the foreground",
              "revised": "caught leaning mid-lunge at a left three-quarter angle at center, its posture following the left-to-right police line path toward the near center of the clearing, not into the lower foreground"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "3:2": {
        "location_id": "L01",
        "group_id": "osl-l01",
        "revised": {
          "0": "Photorealistic cinematic still. C04O04 in a dark detective coat, a Korean female in her mid-40s showing natural dark hair, a mature face, and an oval facial outline, seen at three-quarter angle from the left in a tight close-up. She is leaning into command, looking off-screen with sharp eyes fixed firmly on a distant target. The camera focuses closely on her face, rendering the scene with a procedural news-footage feel, subtle digital texture, and flattened daytime ambient light. In the soft out-of-focus area surrounding her, partial shoulders of an investigation group sit slightly deeper at the near right lower edge, with farther members already in the mid-distance left, visibly smaller and deeper in the frame, while [: the boundary-facing side of a yellow police line stretches horizontally behind her head, marking a restricted area against the blurred, empty forest space]."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "e579b6947b8a85e1",
            "revised_prompt_hash": "94052ce964040582"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "partial shoulders of an investigation group crowd the lower frame edges",
              "revised": "partial shoulders of an investigation group sit slightly deeper at the near right lower edge, with farther members already in the mid-distance left, visibly smaller and deeper in the frame"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "10:2": {
        "location_id": "L03",
        "group_id": "osl-l03",
        "revised": {
          "0": "Photorealistic cinematic still. The black shoe of C01 in dark trousers, an Asian adult male, enters the upper-center foreground along the center line, already partway on its route heading toward the mid-distance center of the frame and not into the 낡은 다세대 빌라, moving toward the fallen dried leaf. P05, the fallen dried 석창포 leaf, a brittle herb leaf, rests on the exterior concrete surface in the lower-center foreground. Captured at a low rooftop floor level, the insert framing tightly isolates the contact point. C01's body is completely withheld above the ankle, focusing solely on the black shoe facing the camera and pressing down onto the foliage. The dim night exterior contrast is held close to the ground, emphasizing the ominous contact and casting a harsh shadow under the sole without specifying an unseen light source. The ambient space implies the unseen rooftop room in the dark, soft background."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "8e9bc94075fa155b",
            "revised_prompt_hash": "1df95fbd6ea2a1cd"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "enters the upper-center foreground, moving toward the fallen dried leaf",
              "revised": "enters the upper-center foreground along the center line, already partway on its route heading toward the mid-distance center of the frame and not into the 낡은 다세대 빌라, moving toward the fallen dried leaf"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "10:6": {
        "location_id": "L03",
        "group_id": "osl-l03",
        "revised": {
          "0": "Photorealistic cinematic still. C01, the figure exerting force, positions in the middle-center foreground over C05O05, while C05O05 is pinned on the floor beneath him near center, set slightly deeper in the frame and visibly a little smaller. C01 in a dark hiking jacket, a Korean adult male with natural dark hair and ordinary head silhouette, in left profile, pinning the body downward, looking down with weight pressing forward at the forceful contact point on her shoulder. C05O05 in a home apron, a Korean female around 40 with mature face and plain facial features, the figure receiving the force, in right profile, eyes closed with a visibly wounded pained expression. Inside the room at floor level, the low camera holds a side angle parallel to the two bodies, framing the narrow interior floor surface occupying the lower edge and a flat room wall behind the struggle. Night interior lighting is kept low and natural to the space, with oppressive contrast casting heavy shadows."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "54943f9d3fc5a9ad",
            "revised_prompt_hash": "c4f0b6a021d89f4a"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "while C05O05 is pinned on the floor beneath him in the lower-center foreground",
              "revised": "while C05O05 is pinned on the floor beneath him near center, set slightly deeper in the frame and visibly a little smaller"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "16:1": {
        "location_id": "L03",
        "group_id": "osl-l03",
        "revised": {
          "0": "Photorealistic cinematic still. The cat is crouched on the wall top in the left midground, looking toward the existing lit rooftop room in the middle-right background. The cat sits in right profile, perpendicular to the camera, its body volume preserved against the dim ambient fill. The wall line runs laterally across the frame at the camera's height, supporting the cat as a physical perch. Cold, bluish early-morning dawn light washes the exterior, creating a restrained contrast with the warm glow spilling from the distant lit rooftop room, subtly highlighting the feline silhouette as it gazes off-screen before its next move."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "91fb9e180769d393",
            "revised_prompt_hash": "c911d2c8d615a0cd"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "in the middle-left midground",
              "revised": "in the left midground"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "13:4": {
        "location_id": "L04",
        "group_id": "osl-l04",
        "revised": {
          "0": "Photorealistic cinematic still. Captured at shoulder height from a perpendicular eyeline view, two women share the narrow encounter space at the bottom landing of a concrete stair at night, visible from the chest up. C04O04 in a dark detective coat, a Korean mid-40s woman with natural dark hair, a mature face, and an oval facial outline, occupies the foreground right in left profile. She is halted in her approach, her face rigid in sudden shock, eyes fixed on the young woman across the landing. Just beyond her on the near left, slightly deeper in the landing and visibly a little smaller, the young Korean woman in casual clothes stands at a three-quarter angle turned from the right, completely frozen in shock. The young woman's face is conspicuously pale with a severely traumatized, blank expression, her shoulders drawn inward tightly in a defensive and frightened posture, maintaining a paralyzed, halted stance, her eyes fixed on C04O04. The surrounding alley atmosphere is stark, earthy, and heavily muted, enveloped in tense nocturnal shadows without bright artificial lighting. The weathered stair runs off to the side of their eyeline in the background."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "1bb7895d32b88329",
            "revised_prompt_hash": "31a93647cd1637fc"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "Just beyond her, the young Korean woman in casual clothes stands at three-quarter angle from the right",
              "revised": "Just beyond her on the near left, slightly deeper in the landing and visibly a little smaller, the young Korean woman in casual clothes stands at a three-quarter angle turned from the right"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "6:2": {
        "location_id": "L06",
        "group_id": "osl-l06",
        "revised": {
          "0": "Photorealistic cinematic still. The coastal road runs from the far left side of the frame to the far right side of the frame, with the shoreline extending from the far center toward the far right and the sea at the far right. C06O06 near the center of the frame in a casual outfit, a young Korean female in her 20s with a youthful face, seen at three-quarter angle from the right. The camera is positioned slightly ahead at face height, maintaining a close framing. Mid-pedal along the coastal road already partway toward the far right side of the frame, not into the sea, with eyes closed and chin raised, she wears earphones, her long black hair flowing back in the direction opposite to motion. Her neck and upper chest occupy the lower frame, with the bicycle handlebar and a slice of the front frame partially visible below to ground the vehicle context. Bright daytime ambient light gently illuminates her features, establishing a lively mood with a natural, restrained palette. The environment behind her consists of [: a softly blurred coastal road under the bright sky, seaside surroundings slipping laterally out of focus], confirming her path along the coastal road toward the far right side of the frame without overpowering the primary subject."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "5c2eedc73a231c87",
            "revised_prompt_hash": "d60c9ef1293342e8"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "",
              "revised": "The coastal road runs from the far left side of the frame to the far right side of the frame, with the shoreline extending from the far center toward the far right and the sea at the far right."
            },
            {
              "original": "C06O06 in a casual outfit",
              "revised": "C06O06 near the center of the frame in a casual outfit"
            },
            {
              "original": "The camera tracks slightly ahead at face height",
              "revised": "The camera is positioned slightly ahead at face height"
            },
            {
              "original": "Mid-pedal",
              "revised": "Mid-pedal along the coastal road already partway toward the far right side of the frame, not into the sea"
            },
            {
              "original": "confirming forward movement",
              "revised": "confirming her path along the coastal road toward the far right side of the frame"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "9:1": {
        "location_id": "L06",
        "group_id": "osl-l06",
        "revised": {
          "0": "Photorealistic cinematic still. C06O06 in casual everyday clothes, a 21-year-old Korean female with a youthful face, rides a bicycle at the near center of the frame, already partway along the coastal road, heading toward the near center while following the road rather than heading into the sea, with the dark night sea acting as an oppressive wall in the upper-center background. Captured from a camera just above the handlebar for a medium frame, she is facing the camera with her upper body leaning sharply forward. Her hands tightly grip the bicycle handlebar crossing the lower foreground, with the bicycle frame visible directly below her. Her gaze is focused distantly ahead. Frozen in mid-ride, her long black hair trails backward in the direction opposite to her forward motion. Stark and restrained night exterior ambience wraps the scene, using the heavy darkness of the coast as contrast without an explicit artificial light source, highlighting her tense, urgent expression."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "6d7ecd5978773b25",
            "revised_prompt_hash": "382783045a95e477"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "rides a bicycle in the middle-center midground, moving toward the camera along the coastal road",
              "revised": "rides a bicycle at the near center of the frame, already partway along the coastal road, heading toward the near center while following the road rather than heading into the sea"
            },
            {
              "original": "Captured from a backward-tracking camera just above the handlebar",
              "revised": "Captured from a camera just above the handlebar"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "21:2": {
        "location_id": "L13",
        "group_id": "osl-l13",
        "revised": {
          "0": "Photorealistic cinematic still. C06O06 in a casual jacket, a 21-year-old Korean female with long black hair, occupies the middle-center midground on a bicycle, already partway along the exterior path, heading toward the mid-distance right side of the frame and not into the police station exterior. Captured from a parallel side-on angle at low saddle-to-chest height, she is in right profile, mid-pedal with one knee bent driving the pedal downward. Her eyes are fixed off-screen, upper body leaning forward with urgent physical tension. Her long hair streams backward in the direction opposite to her motion. Her hands firmly grip the handlebar, with the bicycle saddle and frame visibly supporting her. The building and sidewalk of the police station stretch across the background. Muted, hard-edged daytime exterior ambient light defines her determined profile against the urban street setting."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "791ed2ec2ee40e9e",
            "revised_prompt_hash": "faa687613e0678fe"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "occupies the middle-center midground on a bicycle, moving toward screen right along the exterior path",
              "revised": "occupies the middle-center midground on a bicycle, already partway along the exterior path, heading toward the mid-distance right side of the frame and not into the police station exterior"
            },
            {
              "original": "Captured from a parallel tracking angle",
              "revised": "Captured from a parallel side-on angle"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "25:6": {
        "location_id": "L15",
        "group_id": "osl-l15",
        "revised": {
          "0": "Photorealistic cinematic still. At chest height, C11O09 in dark fisher workwear, a 24-year-old Korean male with natural dark hair, facing the camera, upper body set slightly deeper at the near center of the frame, visibly smaller than the nearer figure. His stance is firmly planted, hands tightly gripping the taut P08 stretching down toward the lower edge. His head is turned slightly, eyes fixed off-screen. He stands on the subtly damp paved dock, a side portion of a boat visible beside him. Muted dusk light is softly diffused through the thick, pervasive fog, enveloping the harbor and significantly obscuring the distant background."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "a1e3c758a69e2a76",
            "revised_prompt_hash": "43d9708a5f7da317"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "upper body occupying the center frame",
              "revised": "upper body set slightly deeper at the near center of the frame, visibly smaller than the nearer figure"
            }
          ]
        },
        "no_edit_reason": {}
      }
    },
    "diagnostics": {
      "outdoor_location_count": 11,
      "seed_group_count": 10,
      "groups_extracted": 8,
      "skipped": [
        {
          "shot": "S2sh1",
          "reason": "zoom_continuity_member"
        },
        {
          "shot": "S2sh3",
          "reason": "zoom_continuity_member"
        },
        {
          "shot": "S23sh1",
          "reason": "zoom_continuity_member"
        },
        {
          "shot": "S23sh2",
          "reason": "zoom_continuity_member"
        },
        {
          "shot": "S26sh7",
          "reason": "zoom_continuity_member"
        },
        {
          "shot": "S26sh9",
          "reason": "zoom_continuity_member"
        },
        {
          "seed": "location:L16",
          "reason": "cap"
        },
        {
          "seed": "location:L18",
          "reason": "cap"
        }
      ],
      "layout_shape_violations": [],
      "layout_side_conflicts": [],
      "spatial_summary_skipped": [
        {
          "shot": "S11sh4",
          "reason": "no_spatial_summary"
        },
        {
          "shot": "L08:sh4",
          "reason": "camera_missing_in_layout"
        },
        {
          "shot": "L08:sh5",
          "reason": "camera_missing_in_layout"
        },
        {
          "shot": "S8sh4",
          "reason": "no_spatial_summary"
        },
        {
          "shot": "S8sh5",
          "reason": "no_spatial_summary"
        },
        {
          "shot": "S18sh4",
          "reason": "no_spatial_summary"
        },
        {
          "shot": "S18sh5",
          "reason": "no_spatial_summary"
        }
      ],
      "rewrite_failed": [],
      "revised_prompt_audit_violations": [],
      "zoom_member_exclusion_source": "shot_dependency_t2i",
      "composition_guide_failed": [],
      "composition_guide_candidate_skipped": [
        {
          "group": "osl-shared-l01-s1",
          "shot": "S1sh1",
          "reason": "pose_brief_unusable_fail_closed"
        },
        {
          "group": "osl-single-l04-s11-sh3",
          "shot": "S11sh3",
          "reason": "pose_brief_unusable_fail_closed"
        },
        {
          "group": "osl-single-l06-s6-sh2",
          "reason": "judge_no_need",
          "confidence": "low"
        },
        {
          "group": "osl-shared-l15-s25",
          "shot": "S25sh3",
          "reason": "pose_brief_unusable_fail_closed"
        }
      ],
      "composition_guide_count": 10,
      "seed_prefilter_meta": {
        "1:1": {
          "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:4": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "primary_location",
          "location_id": "L01",
          "figure_count": 2,
          "framing_scale": "medium",
          "character_angle_count": 2,
          "frame_spatial_contract_present": false,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "gaze_direction"
          ]
        },
        "3:2": {
          "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"
          ]
        },
        "4:1": {
          "why_candidate": "single_shot_outdoor_no_figure",
          "location_source": "frame_visible",
          "location_id": "L03",
          "figure_count": 0,
          "framing_scale": "wide",
          "character_angle_count": 0,
          "frame_spatial_contract_present": false,
          "available_structural_signal_names": [
            "framing_scale"
          ]
        },
        "6:2": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L06",
          "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"
          ]
        },
        "8:4": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L08",
          "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"
          ]
        },
        "8:5": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L08",
          "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"
          ]
        },
        "9:1": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L06",
          "figure_count": 1,
          "framing_scale": "medium",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "10:2": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L03",
          "figure_count": 1,
          "framing_scale": "insert",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "10:6": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "primary_location",
          "location_id": "L03",
          "figure_count": 2,
          "framing_scale": "medium",
          "character_angle_count": 2,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "11:3": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L04",
          "figure_count": 1,
          "framing_scale": "close",
          "character_angle_count": 1,
          "frame_spatial_contract_present": false,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "gaze_direction"
          ]
        },
        "11:4": {
          "why_candidate": "single_shot_outdoor_no_figure",
          "location_source": "frame_visible",
          "location_id": "L03",
          "figure_count": 0,
          "framing_scale": "medium",
          "character_angle_count": 0,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "frame_spatial_contract"
          ]
        },
        "13:3": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L04",
          "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:4": {
          "why_candidate": "cross_shot_or_multi_figure_present",
          "location_source": "primary_location",
          "location_id": "L04",
          "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"
          ]
        },
        "14:9": {
          "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": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "16:1": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L03",
          "figure_count": 1,
          "framing_scale": "medium",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "18:4": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L08",
          "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"
          ]
        },
        "18:5": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L08",
          "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"
          ]
        },
        "21:2": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L13",
          "figure_count": 1,
          "framing_scale": "medium",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "25:3": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L15",
          "figure_count": 1,
          "framing_scale": "insert",
          "character_angle_count": 1,
          "frame_spatial_contract_present": false,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "gaze_direction"
          ]
        },
        "25:6": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L15",
          "figure_count": 1,
          "framing_scale": "medium",
          "character_angle_count": 1,
          "frame_spatial_contract_present": false,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "gaze_direction"
          ]
        },
        "25:10": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L15",
          "figure_count": 1,
          "framing_scale": "close",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        },
        "26:1": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "primary_location",
          "location_id": "L16",
          "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"
          ]
        },
        "28:3": {
          "why_candidate": "single_shot_outdoor_figure_present",
          "location_source": "frame_visible",
          "location_id": "L18",
          "figure_count": 1,
          "framing_scale": "medium",
          "character_angle_count": 1,
          "frame_spatial_contract_present": true,
          "available_structural_signal_names": [
            "framing_scale",
            "character_angles",
            "frame_spatial_contract",
            "gaze_direction"
          ]
        }
      },
      "single_shot_seed_lane_enabled": true,
      "composition_guide_shared_model_enabled": true,
      "shared_model_judge_enabled": true,
      "shared_model_candidate_signals": [
        {
          "group_id": "osl-shared-l01-s1",
          "location_id": "L01",
          "scene_index": 1,
          "member_shots": [
            "S1sh1",
            "S1sh4"
          ],
          "cameras_non_identical": true,
          "landmark_count": 3,
          "per_shot_signals": {
            "1:1": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            },
            "1:4": {
              "entity_count_bucket": "multiple",
              "entity_count": 2,
              "depth_planes": 2,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-single-l01-s3-sh2",
          "location_id": "L01",
          "scene_index": 3,
          "member_shots": [
            "S3sh2"
          ],
          "cameras_non_identical": false,
          "landmark_count": 3,
          "per_shot_signals": {
            "3:2": {
              "entity_count_bucket": "multiple",
              "entity_count": 3,
              "depth_planes": 3,
              "has_motion": false
            }
          }
        },
        {
          "group_id": "osl-shared-l03-s10",
          "location_id": "L03",
          "scene_index": 10,
          "member_shots": [
            "S10sh2",
            "S10sh6"
          ],
          "cameras_non_identical": true,
          "landmark_count": 9,
          "per_shot_signals": {
            "10:2": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": true
            },
            "10:6": {
              "entity_count_bucket": "multiple",
              "entity_count": 2,
              "depth_planes": 2,
              "has_motion": false
            }
          }
        },
        {
          "group_id": "osl-single-l03-s4-sh1",
          "location_id": "L03",
          "scene_index": 4,
          "member_shots": [
            "S4sh1"
          ],
          "cameras_non_identical": false,
          "landmark_count": 9,
          "per_shot_signals": {
            "4:1": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            }
          }
        },
        {
          "group_id": "osl-single-l03-s16-sh1",
          "location_id": "L03",
          "scene_index": 16,
          "member_shots": [
            "S16sh1"
          ],
          "cameras_non_identical": false,
          "landmark_count": 9,
          "per_shot_signals": {
            "16:1": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            }
          }
        },
        {
          "group_id": "osl-shared-l04-s13",
          "location_id": "L04",
          "scene_index": 13,
          "member_shots": [
            "S13sh3",
            "S13sh4"
          ],
          "cameras_non_identical": true,
          "landmark_count": 9,
          "per_shot_signals": {
            "13:3": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            },
            "13:4": {
              "entity_count_bucket": "multiple",
              "entity_count": 2,
              "depth_planes": 2,
              "has_motion": false
            }
          }
        },
        {
          "group_id": "osl-single-l04-s11-sh3",
          "location_id": "L04",
          "scene_index": 11,
          "member_shots": [
            "S11sh3"
          ],
          "cameras_non_identical": false,
          "landmark_count": 9,
          "per_shot_signals": {
            "11:3": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            }
          }
        },
        {
          "group_id": "osl-single-l06-s6-sh2",
          "location_id": "L06",
          "scene_index": 6,
          "member_shots": [
            "S6sh2"
          ],
          "cameras_non_identical": false,
          "landmark_count": 3,
          "per_shot_signals": {
            "6:2": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-single-l06-s9-sh1",
          "location_id": "L06",
          "scene_index": 9,
          "member_shots": [
            "S9sh1"
          ],
          "cameras_non_identical": false,
          "landmark_count": 3,
          "per_shot_signals": {
            "9:1": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-single-l11-s14-sh9",
          "location_id": "L11",
          "scene_index": 14,
          "member_shots": [
            "S14sh9"
          ],
          "cameras_non_identical": false,
          "landmark_count": 3,
          "per_shot_signals": {
            "14:9": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            }
          }
        },
        {
          "group_id": "osl-single-l13-s21-sh2",
          "location_id": "L13",
          "scene_index": 21,
          "member_shots": [
            "S21sh2"
          ],
          "cameras_non_identical": false,
          "landmark_count": 1,
          "per_shot_signals": {
            "21:2": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": true
            }
          }
        },
        {
          "group_id": "osl-shared-l15-s25",
          "location_id": "L15",
          "scene_index": 25,
          "member_shots": [
            "S25sh3",
            "S25sh6",
            "S25sh10"
          ],
          "cameras_non_identical": true,
          "landmark_count": 4,
          "per_shot_signals": {
            "25:3": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            },
            "25:6": {
              "entity_count_bucket": "multiple",
              "entity_count": 2,
              "depth_planes": 1,
              "has_motion": true
            },
            "25:10": {
              "entity_count_bucket": "single",
              "entity_count": 1,
              "depth_planes": 1,
              "has_motion": false
            }
          }
        }
      ],
      "shared_model_judge_decisions": [
        {
          "group_id": "osl-shared-l01-s1",
          "needs_shared_model_guide": true,
          "decision_type": "both",
          "confidence": "high",
          "reasons": [
            "multi_angle_same_set",
            "figure_placement_continuity",
            "depth_layering",
            "occlusion_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "1:1",
              "source_field": "camera_direction",
              "quote": "directly in front of 한국인 남자 at eye level in a tight close-up"
            },
            {
              "shot_key": "1:4",
              "source_field": "camera_direction",
              "quote": "holds behind 한국인 남자 at shoulder height, aimed across his back toward the space immediately behind him. His back occupies the lower foreground while 검은 인영 hangs above and behind him in the midground"
            }
          ],
          "guide_scope": "group",
          "risk_notes": "The shots cover the same subject from opposite angles (front close-up vs behind-the-back medium shot), requiring cross-shot continuity. Shot 1:4 also features depth layering and an over-the-back occlusion framing that requires precise placement to avoid collapsing the intended depth.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l01-s3-sh2",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "depth_layering"
          ],
          "evidence": [
            {
              "shot_key": "3:2",
              "source_field": "camera_direction",
              "quote": "inside the police group"
            },
            {
              "shot_key": "3:2",
              "source_field": "camera_direction",
              "quote": "The police line and the empty forest space sit behind and past her eyeline"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The shot requires arranging multiple figures across distinct depth layers, with a foreground group and a background police line, which warrants a single-shot layout guide to ensure correct spatial distribution.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-shared-l03-s10",
          "needs_shared_model_guide": true,
          "decision_type": "both",
          "confidence": "high",
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "camera_or_framing_risk",
            "occlusion_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "10:2",
              "source_field": "camera_direction",
              "quote": "At rooftop floor level, the camera tracks with the ground approach and tightens into an insert where 한국인 남자's black shoe enters the upper frame"
            },
            {
              "shot_key": "10:6",
              "source_field": "camera_direction",
              "quote": "low side angle parallel to the two bodies, close enough that 한국인 남자's weight over 민숙 becomes the dominant shape across the frame. 민숙 is pinned along the lower plane while the man's body cuts across her from above"
            }
          ],
          "guide_scope": "group",
          "risk_notes": "The group shares the same rooftop/room location across different angles and scales, requiring structural continuity. Shot 10:2 features an extreme floor-level insert framing, while shot 10:6 involves complex physical occlusion with one figure pinned beneath another at a low angle, both of which carry high spatial and framing risks if rendered unguided.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l03-s4-sh1",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "4:1",
              "source_field": "camera_direction",
              "quote": "camera holds high overhead at a wide distance, looking down"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The extreme high overhead viewpoint creates spatial ambiguity for the structures, warranting a layout guide to ensure correct positioning and scale.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l03-s16-sh1",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "16:1",
              "source_field": "camera_direction",
              "quote": "At wall-top height, the camera holds a still side view about a close distance from 검은 고양이, perpendicular to the wall line"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The camera is placed at wall-top height perpendicular to the wall line, creating a specific spatial relationship between the subject and the wall that requires a layout sketch to ensure correct placement and avoid collapsing the intended depth.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-shared-l04-s13",
          "needs_shared_model_guide": true,
          "decision_type": "both",
          "confidence": "high",
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "figure_placement_continuity",
            "depth_layering"
          ],
          "evidence": [
            {
              "shot_key": "13:3",
              "source_field": "camera_direction",
              "quote": "At the bottom of the stairway, the camera holds eye-level and tightens into 수리영's face from the frontal position"
            },
            {
              "shot_key": "13:4",
              "source_field": "camera_direction",
              "quote": "From the side of the two women at shoulder height, the camera tracks into a perpendicular eyeline view, favoring 혜수's side profile in the foreground right while 수리영 remains just beyond her"
            }
          ],
          "guide_scope": "group",
          "risk_notes": "The shots cover the same stair bottom location from a frontal angle and a perpendicular side angle, requiring consistent placement of the characters and the stair structure. Shot 13:4 also requires specific depth layering between the two characters.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l04-s11-sh3",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "depth_layering"
          ],
          "evidence": [
            {
              "shot_key": "11:3",
              "source_field": "camera_view_brief",
              "quote": "a figure: midground, toward the left of frame, about 0.17x the nearest figure's size, INSIDE the mapped area '마당' while the camera is OUTSIDE that area"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The shot features distinct depth layering with a foreground figure and a midground figure placed inside a specific mapped area ('마당') while the camera remains outside it. A layout sketch will ensure the correct scale and spatial relationship between the two figures across these depth planes, despite the tight framing on the foreground subject.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l06-s6-sh2",
          "needs_shared_model_guide": false,
          "decision_type": "no_guide",
          "confidence": "low",
          "reasons": [
            "insufficient_evidence"
          ],
          "evidence": [],
          "guide_scope": "none",
          "risk_notes": "Standard tracking close-up with a single figure; no extreme angles, complex depth layering, or spatial ambiguity that would require a layout sketch.",
          "admit": false,
          "deny_reason": "judge_no_need"
        },
        {
          "group_id": "osl-single-l06-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": "Tracking backward directly in front of 수리영, the camera rides just above the bicycle handlebar and stays aligned with her face as she drives forward into the lens axis. The tight frame includes her clenched hands across the lower band, her forward-bent upper body in the center"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The tight tracking shot positioned just above the handlebars creates a specific foreshortened perspective and body arrangement that requires a layout guide to prevent the render from collapsing the depth or misplacing the figure relative to the camera.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l11-s14-sh9",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "14:9",
              "source_field": "camera_direction",
              "quote": "holding a full-body view of 수리영 seated small against the sea behind her. She sits in the lower-middle of the frame with the bench readable across the width"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The camera directive specifies a precise spatial relationship and scale for the figure within the frame (seated small in the lower-middle, bench readable across the width), which an unguided render might misinterpret or crop incorrectly.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-single-l13-s21-sh2",
          "needs_shared_model_guide": true,
          "decision_type": "single_shot_complexity",
          "confidence": "high",
          "reasons": [
            "camera_or_framing_risk"
          ],
          "evidence": [
            {
              "shot_key": "21:2",
              "source_field": "camera_direction",
              "quote": "slightly low saddle-to-chest height"
            },
            {
              "shot_key": "21:2",
              "source_field": "camera_direction",
              "quote": "tightened toward her bent knee and the downward-driving pedal"
            }
          ],
          "guide_scope": "single",
          "risk_notes": "The low-angle tracking shot with specific framing on the knee and pedal creates a high placement risk for the figure, warranting a single-shot guide to ensure correct body positioning.",
          "admit": true,
          "deny_reason": null
        },
        {
          "group_id": "osl-shared-l15-s25",
          "needs_shared_model_guide": true,
          "decision_type": "cross_shot_continuity",
          "confidence": "high",
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity"
          ],
          "evidence": [
            {
              "shot_key": "25:3",
              "source_field": "camera_direction",
              "quote": "The camera is low beside 수리영’s resting spot, angled slightly downward into an insert of the smartphone on the ground"
            },
            {
              "shot_key": "25:6",
              "source_field": "camera_direction",
              "quote": "At chest height on the dock, the camera holds still about two meters from 인우"
            },
            {
              "shot_key": "25:10",
              "source_field": "camera_direction",
              "quote": "The camera shifts to an eye-level medium-close frontal position on 수리영 along the dock path"
            }
          ],
          "guide_scope": "group",
          "risk_notes": "The group features multiple distinct camera angles and positions across the same outdoor location (dock, shore rocks, sea). A shared guide is needed to ensure the structural layout and spatial relationships remain consistent across these different viewpoints.",
          "admit": true,
          "deny_reason": null
        }
      ],
      "shared_model_attach_decisions": [
        {
          "group_id": "osl-shared-l01-s1",
          "scene_index": 1,
          "base_cache_key": "8535a0873b36518d",
          "attached_shots": [],
          "attached": false,
          "fail_stage": "pose_brief"
        },
        {
          "group_id": "osl-single-l01-s3-sh2",
          "scene_index": 3,
          "base_cache_key": "ecf99ed5042e7c66",
          "attached_shots": [
            "3:2"
          ],
          "attached": true
        },
        {
          "group_id": "osl-shared-l03-s10",
          "scene_index": 10,
          "base_cache_key": "aeff89692df0be47",
          "attached_shots": [
            "10:2",
            "10:6"
          ],
          "attached": true
        },
        {
          "group_id": "osl-single-l03-s4-sh1",
          "scene_index": 4,
          "base_cache_key": "f3eed105c23009b6",
          "attached_shots": [
            "4:1"
          ],
          "attached": true
        },
        {
          "group_id": "osl-single-l03-s16-sh1",
          "scene_index": 16,
          "base_cache_key": "f96242f7237f6623",
          "attached_shots": [
            "16:1"
          ],
          "attached": true
        },
        {
          "group_id": "osl-shared-l04-s13",
          "scene_index": 13,
          "base_cache_key": "cda18bf13554974b",
          "attached_shots": [
            "13:3",
            "13:4"
          ],
          "attached": true
        },
        {
          "group_id": "osl-single-l04-s11-sh3",
          "scene_index": 11,
          "base_cache_key": "1b38c77b316eb0b9",
          "attached_shots": [],
          "attached": false,
          "fail_stage": "pose_brief"
        },
        {
          "group_id": "osl-single-l06-s9-sh1",
          "scene_index": 9,
          "base_cache_key": "a824f31d4b86a54c",
          "attached_shots": [
            "9:1"
          ],
          "attached": true
        },
        {
          "group_id": "osl-single-l11-s14-sh9",
          "scene_index": 14,
          "base_cache_key": "0d40f20e5e223b8f",
          "attached_shots": [
            "14:9"
          ],
          "attached": true
        },
        {
          "group_id": "osl-single-l13-s21-sh2",
          "scene_index": 21,
          "base_cache_key": "47ec2999394619db",
          "attached_shots": [
            "21:2"
          ],
          "attached": true
        },
        {
          "group_id": "osl-shared-l15-s25",
          "scene_index": 25,
          "base_cache_key": "8d3a079a04955fcc",
          "attached_shots": [],
          "attached": false,
          "fail_stage": "pose_brief"
        }
      ],
      "shared_model_single_shot_complexity_observation": [
        {
          "group_id": "osl-shared-l01-s1",
          "decision_type": "both",
          "is_single_shot_candidate": false,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l01-s3-sh2",
          "decision_type": "single_shot_complexity",
          "is_single_shot_candidate": true,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-shared-l03-s10",
          "decision_type": "both",
          "is_single_shot_candidate": false,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l03-s4-sh1",
          "decision_type": "single_shot_complexity",
          "is_single_shot_candidate": true,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l03-s16-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-l04-s13",
          "decision_type": "both",
          "is_single_shot_candidate": false,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l04-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-l06-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-single-l11-s14-sh9",
          "decision_type": "single_shot_complexity",
          "is_single_shot_candidate": true,
          "admit": true,
          "note": "single_shot_complexity lane 개방 — admit 시 production attach."
        },
        {
          "group_id": "osl-single-l13-s21-sh2",
          "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": "S1sh1",
          "group_id": "osl-shared-l01-s1",
          "figure_count": 1,
          "had_body": true
        },
        {
          "shot": "S11sh3",
          "group_id": "osl-single-l04-s11-sh3",
          "figure_count": 1,
          "had_body": true
        },
        {
          "shot": "S25sh3",
          "group_id": "osl-shared-l15-s25",
          "figure_count": 1,
          "had_body": true
        }
      ],
      "shared_model_optical_risk_excluded": [],
      "shared_model_building_fp_link": {
        "L03": {
          "fp_id": "fp_l05_main",
          "indoor_loc_sid": "L05",
          "group_id": "bg_rooftop_villa_unit"
        },
        "L04": {
          "fp_id": "fp_l05_main",
          "indoor_loc_sid": "L05",
          "group_id": "bg_rooftop_villa_unit"
        },
        "L08": {
          "fp_id": "fp_l10_security_office",
          "indoor_loc_sid": "L10",
          "group_id": "bg_mart_complex"
        },
        "L13": {
          "fp_id": "fp_police_office_main",
          "indoor_loc_sid": "L12",
          "group_id": "bg_police_station"
        },
        "L16": {
          "fp_id": "fp_fishing_boat_wheelhouse",
          "indoor_loc_sid": "L17",
          "group_id": "bg_fishing_boat"
        }
      },
      "shared_model_image_calls": {
        "predicted": {
          "base": 8,
          "blocking": 8,
          "camera_view_sketch": 8
        },
        "actual": {
          "base": 8,
          "blocking": 8,
          "camera_view_sketch": 8
        },
        "predicted_call_count": 24,
        "actual_call_count": 24,
        "continuity_anchor_generation_calls": 0
      },
      "shared_model_chain_lineage": {
        "annotated": [
          {
            "asset": "e4a57688-e5cd-48e4-ac7b-7db748a185fc",
            "role": "outdoor_shot_blocking",
            "input": "939a087a-666e-41ac-b7fb-8a800901b437"
          },
          {
            "asset": "324b4265-e21d-43f9-b0f4-bf2833c27c93",
            "role": "outdoor_camera_sketch",
            "input": "e4a57688-e5cd-48e4-ac7b-7db748a185fc"
          },
          {
            "asset": "1b8716c6-0f4b-4be5-9d8f-2b4e80d574ef",
            "role": "outdoor_shot_blocking",
            "input": "9ac5f0b9-60eb-42a9-b364-31a35f1c6bab"
          },
          {
            "asset": "4df12adf-206e-4cce-a760-a278e3d5ab12",
            "role": "outdoor_camera_sketch",
            "input": "1b8716c6-0f4b-4be5-9d8f-2b4e80d574ef"
          },
          {
            "asset": "371dfd0f-a52a-4243-be5b-2afaf248c80e",
            "role": "outdoor_shot_blocking",
            "input": "e74851fa-bea7-49cb-9c74-65088fd5ffc5"
          },
          {
            "asset": "f23f6f88-ed51-4725-8e00-74ddd53b1f96",
            "role": "outdoor_camera_sketch",
            "input": "371dfd0f-a52a-4243-be5b-2afaf248c80e"
          },
          {
            "asset": "00925737-8cb2-448e-903e-7560f564d31b",
            "role": "outdoor_shot_blocking",
            "input": "98dba896-59d8-49a6-9736-bfe1d1f4a642"
          },
          {
            "asset": "660526e7-0f34-47d3-81e2-d39a7abaaf07",
            "role": "outdoor_camera_sketch",
            "input": "00925737-8cb2-448e-903e-7560f564d31b"
          },
          {
            "asset": "c98136a0-1e29-4682-8044-f849d55de36e",
            "role": "outdoor_shot_blocking",
            "input": "9a09c507-2250-4b24-9f28-4e2e281c7dac"
          },
          {
            "asset": "39005ce6-0156-4862-9f57-14319acd3314",
            "role": "outdoor_camera_sketch",
            "input": "c98136a0-1e29-4682-8044-f849d55de36e"
          },
          {
            "asset": "8c49528f-4f5b-4dbd-84b5-073702667e37",
            "role": "outdoor_shot_blocking",
            "input": "56923ab3-13a6-4c88-bd9d-30d9d2627c23"
          },
          {
            "asset": "a7e3c5d8-7575-4202-9857-d004f6be857c",
            "role": "outdoor_camera_sketch",
            "input": "8c49528f-4f5b-4dbd-84b5-073702667e37"
          },
          {
            "asset": "76741cfa-b1df-4e47-93a1-f7f7401231f3",
            "role": "outdoor_shot_blocking",
            "input": "84ec8e65-c650-4943-a587-4fffe7cf8696"
          },
          {
            "asset": "0baf5ba5-0f62-45a5-b284-7923c7bd40c9",
            "role": "outdoor_camera_sketch",
            "input": "76741cfa-b1df-4e47-93a1-f7f7401231f3"
          },
          {
            "asset": "bd427183-d973-43d3-83e8-6666765d4fc0",
            "role": "outdoor_shot_blocking",
            "input": "47e644de-3bd3-4317-b062-d5e522b04391"
          },
          {
            "asset": "1506528b-5a57-4d27-b726-3f3ebc188942",
            "role": "outdoor_camera_sketch",
            "input": "bd427183-d973-43d3-83e8-6666765d4fc0"
          }
        ],
        "unresolved": [],
        "guide_asset_resolved": [
          {
            "shot": "3:2",
            "asset": "324b4265-e21d-43f9-b0f4-bf2833c27c93"
          },
          {
            "shot": "10:2",
            "asset": "4df12adf-206e-4cce-a760-a278e3d5ab12"
          },
          {
            "shot": "4:1",
            "asset": "f23f6f88-ed51-4725-8e00-74ddd53b1f96"
          },
          {
            "shot": "16:1",
            "asset": "660526e7-0f34-47d3-81e2-d39a7abaaf07"
          },
          {
            "shot": "13:3",
            "asset": "39005ce6-0156-4862-9f57-14319acd3314"
          },
          {
            "shot": "9:1",
            "asset": "a7e3c5d8-7575-4202-9857-d004f6be857c"
          },
          {
            "shot": "14:9",
            "asset": "0baf5ba5-0f62-45a5-b284-7923c7bd40c9"
          },
          {
            "shot": "21:2",
            "asset": "1506528b-5a57-4d27-b726-3f3ebc188942"
          }
        ],
        "guide_asset_unresolved": []
      }
    },
    "composition_guides": {
      "3:2": {
        "mode": "sketch",
        "path": "composition_guides/S3sh2.png",
        "location_id": "L01",
        "group_id": "osl-single-l01-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": "inside the police group"
            },
            {
              "shot_key": "3:2",
              "source_field": "camera_direction",
              "quote": "The police line and the empty forest space sit behind and past her eyeline"
            }
          ],
          "reasons": [
            "depth_layering"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "ecf99ed5042e7c66",
        "base_hash": "d0851ca0cf8c473a",
        "base_prompt_hash": "010c4bdaba7c5edf",
        "building_fp_id": "",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "bdf93797a762992d",
        "pose_brief_present": true,
        "pose_brief_figures": 3,
        "pose_brief_hash": "a6ef1db151d61538",
        "camera_brief_hash": "ce3df571fb543225",
        "camera_view_sketch_hash": "0600b1f5c39a6622",
        "sketch_prompt_hash": "5d4e9f6bfcfa6e52",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "혜수"
        ],
        "guide_asset_id": "324b4265-e21d-43f9-b0f4-bf2833c27c93"
      },
      "10:2": {
        "mode": "sketch",
        "path": "composition_guides/S10sh2.png",
        "location_id": "L03",
        "group_id": "osl-shared-l03-s10",
        "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": "10:2",
              "source_field": "camera_direction",
              "quote": "At rooftop floor level, the camera tracks with the ground approach and tightens into an insert where 한국인 남자's black shoe enters the upper frame"
            },
            {
              "shot_key": "10:6",
              "source_field": "camera_direction",
              "quote": "low side angle parallel to the two bodies, close enough that 한국인 남자's weight over 민숙 becomes the dominant shape across the frame. 민숙 is pinned along the lower plane while the man's body cuts across her from above"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "camera_or_framing_risk",
            "occlusion_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "aeff89692df0be47",
        "base_hash": "4bdb55dfd7b1dde3",
        "base_prompt_hash": "36ebe03e4c18bf1c",
        "building_fp_id": "fp_l05_main",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "834813ca25b5ed49",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "cc829d06c04d35db",
        "camera_brief_hash": "eeb38c0ca45c1175",
        "camera_view_sketch_hash": "ce401743ca7a4191",
        "sketch_prompt_hash": "5907f4d42cd9b255",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "한국인 남자"
        ],
        "guide_asset_id": "4df12adf-206e-4cce-a760-a278e3d5ab12"
      },
      "10:6": {
        "mode": "continuity_anchor",
        "anchor_source": [
          10,
          2
        ],
        "location_id": "L03",
        "group_id": "osl-shared-l03-s10",
        "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": "10:2",
              "source_field": "camera_direction",
              "quote": "At rooftop floor level, the camera tracks with the ground approach and tightens into an insert where 한국인 남자's black shoe enters the upper frame"
            },
            {
              "shot_key": "10:6",
              "source_field": "camera_direction",
              "quote": "low side angle parallel to the two bodies, close enough that 한국인 남자's weight over 민숙 becomes the dominant shape across the frame. 민숙 is pinned along the lower plane while the man's body cuts across her from above"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "camera_or_framing_risk",
            "occlusion_or_framing_risk"
          ]
        },
        "forced_character_names": [
          "한국인 남자"
        ]
      },
      "4:1": {
        "mode": "sketch",
        "path": "composition_guides/S4sh1.png",
        "location_id": "L03",
        "group_id": "osl-single-l03-s4-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": "4:1",
              "source_field": "camera_direction",
              "quote": "camera holds high overhead at a wide distance, looking down"
            }
          ],
          "reasons": [
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "f3eed105c23009b6",
        "base_hash": "9fb730cbce4b1b25",
        "base_prompt_hash": "36ebe03e4c18bf1c",
        "building_fp_id": "fp_l05_main",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "75ac7a4e01f2ba8c",
        "pose_brief_present": false,
        "pose_brief_figures": 0,
        "pose_brief_hash": null,
        "camera_brief_hash": "af0950b541ad81a5",
        "camera_view_sketch_hash": "51858b08ad6ecd1b",
        "sketch_prompt_hash": "148c96132fe53c54",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [],
        "guide_asset_id": "f23f6f88-ed51-4725-8e00-74ddd53b1f96"
      },
      "16:1": {
        "mode": "sketch",
        "path": "composition_guides/S16sh1.png",
        "location_id": "L03",
        "group_id": "osl-single-l03-s16-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": "16:1",
              "source_field": "camera_direction",
              "quote": "At wall-top height, the camera holds a still side view about a close distance from 검은 고양이, perpendicular to the wall line"
            }
          ],
          "reasons": [
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "f96242f7237f6623",
        "base_hash": "787b0cd70373b1a6",
        "base_prompt_hash": "36ebe03e4c18bf1c",
        "building_fp_id": "fp_l05_main",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "e9eb58785b9809cf",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "17c394e477a4e373",
        "camera_brief_hash": "af0950b541ad81a5",
        "camera_view_sketch_hash": "2cbd28307467e3c7",
        "sketch_prompt_hash": "2406d3cb2a50e4d9",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "검은 고양이"
        ],
        "guide_asset_id": "660526e7-0f34-47d3-81e2-d39a7abaaf07"
      },
      "13:3": {
        "mode": "sketch",
        "path": "composition_guides/S13sh3.png",
        "location_id": "L04",
        "group_id": "osl-shared-l04-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": "both",
          "evidence": [
            {
              "shot_key": "13:3",
              "source_field": "camera_direction",
              "quote": "At the bottom of the stairway, the camera holds eye-level and tightens into 수리영's face from the frontal position"
            },
            {
              "shot_key": "13:4",
              "source_field": "camera_direction",
              "quote": "From the side of the two women at shoulder height, the camera tracks into a perpendicular eyeline view, favoring 혜수's side profile in the foreground right while 수리영 remains just beyond her"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "figure_placement_continuity",
            "depth_layering"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "cda18bf13554974b",
        "base_hash": "7cdc97d56a2880ec",
        "base_prompt_hash": "2c719e6f800ac9b4",
        "building_fp_id": "fp_l05_main",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "e5ad7175cf7d29e0",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "0496ebba733eeb74",
        "camera_brief_hash": "4ad31f1de58f8f4a",
        "camera_view_sketch_hash": "795105ea1cd80e6b",
        "sketch_prompt_hash": "458b85074bc45f30",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "수리영"
        ],
        "guide_asset_id": "39005ce6-0156-4862-9f57-14319acd3314"
      },
      "13:4": {
        "mode": "continuity_anchor",
        "anchor_source": [
          13,
          3
        ],
        "location_id": "L04",
        "group_id": "osl-shared-l04-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": "both",
          "evidence": [
            {
              "shot_key": "13:3",
              "source_field": "camera_direction",
              "quote": "At the bottom of the stairway, the camera holds eye-level and tightens into 수리영's face from the frontal position"
            },
            {
              "shot_key": "13:4",
              "source_field": "camera_direction",
              "quote": "From the side of the two women at shoulder height, the camera tracks into a perpendicular eyeline view, favoring 혜수's side profile in the foreground right while 수리영 remains just beyond her"
            }
          ],
          "reasons": [
            "multi_angle_same_set",
            "shared_structure_continuity",
            "figure_placement_continuity",
            "depth_layering"
          ]
        },
        "forced_character_names": [
          "수리영"
        ]
      },
      "9:1": {
        "mode": "sketch",
        "path": "composition_guides/S9sh1.png",
        "location_id": "L06",
        "group_id": "osl-single-l06-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": "Tracking backward directly in front of 수리영, the camera rides just above the bicycle handlebar and stays aligned with her face as she drives forward into the lens axis. The tight frame includes her clenched hands across the lower band, her forward-bent upper body in the center"
            }
          ],
          "reasons": [
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "a824f31d4b86a54c",
        "base_hash": "08e799d3cfec243a",
        "base_prompt_hash": "15978d9b57909b0c",
        "building_fp_id": "",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "b2fc9fccc94442f5",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "deac635403c68787",
        "camera_brief_hash": "a93f7d6fe614a5e9",
        "camera_view_sketch_hash": "b35978b75d7f94c8",
        "sketch_prompt_hash": "c5c5b71e198f6384",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "수리영"
        ],
        "guide_asset_id": "a7e3c5d8-7575-4202-9857-d004f6be857c"
      },
      "14:9": {
        "mode": "sketch",
        "path": "composition_guides/S14sh9.png",
        "location_id": "L11",
        "group_id": "osl-single-l11-s14-sh9",
        "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": "14:9",
              "source_field": "camera_direction",
              "quote": "holding a full-body view of 수리영 seated small against the sea behind her. She sits in the lower-middle of the frame with the bench readable across the width"
            }
          ],
          "reasons": [
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "0d40f20e5e223b8f",
        "base_hash": "beb16a570d36049e",
        "base_prompt_hash": "2385147789c102ca",
        "building_fp_id": "",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "fd0a834bdddec4b8",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "0425a39f2fb5d66e",
        "camera_brief_hash": "d59eb0ae66ce23be",
        "camera_view_sketch_hash": "bc0991ba14628525",
        "sketch_prompt_hash": "9233c6e11b774f13",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "수리영"
        ],
        "guide_asset_id": "0baf5ba5-0f62-45a5-b284-7923c7bd40c9"
      },
      "21:2": {
        "mode": "sketch",
        "path": "composition_guides/S21sh2.png",
        "location_id": "L13",
        "group_id": "osl-single-l13-s21-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": "21:2",
              "source_field": "camera_direction",
              "quote": "slightly low saddle-to-chest height"
            },
            {
              "shot_key": "21:2",
              "source_field": "camera_direction",
              "quote": "tightened toward her bent knee and the downward-driving pedal"
            }
          ],
          "reasons": [
            "camera_or_framing_risk"
          ]
        },
        "producer_kind": "shared_model_aerial_v2",
        "guide_generation_status": "ok",
        "base_cache_key": "47ec2999394619db",
        "base_hash": "846cb6d91a1e4cd6",
        "base_prompt_hash": "d8efde00e988cc72",
        "building_fp_id": "fp_police_office_main",
        "blocking_stage": "used",
        "blocking_stage_reason": "mandatory_3stage",
        "blocking_hash": "8a43e12d00b5d0bf",
        "pose_brief_present": true,
        "pose_brief_figures": 1,
        "pose_brief_hash": "49e0faef26576424",
        "camera_brief_hash": "9dfc0829cc16a3d4",
        "camera_view_sketch_hash": "c8b83c7a35a431a2",
        "sketch_prompt_hash": "b7a77ef063e2adaf",
        "helper_version": "shared_model_aerial_v4.202607031200",
        "forced_character_names": [
          "수리영"
        ],
        "guide_asset_id": "1506528b-5a57-4d27-b726-3f3ebc188942"
      }
    },
    "review_html": "review_html/index.html"
  },
  "step_id": "outdoor_site_layout",
  "run_id": "98d49c4b-21bc-42ce-9295-375eeb95e8fd",
  "resolved_model": "gpt",
  "updated_at": "2026-07-08T08:04:46.122795+00:00",
  "project_config_snapshot": {}
}