{
  "status": "completed",
  "applicable_count": 4,
  "completed_count": 4,
  "failed_count": 0,
  "schema_version": 1,
  "config_hash": "ea9277b92979c9f6",
  "data": {
    "schema_version": 1,
    "groups": [
      {
        "group_id": "osl-l01",
        "location_id": "L01",
        "member_shots": [
          [
            1,
            4
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                51,
                58
              ],
              "pos": [
                47,
                70
              ],
              "shot_index": 4
            }
          ],
          "figures": [
            {
              "entity_token": "C03",
              "figure_id": "F01",
              "label": "정체불명의 검은 형상",
              "positions": [
                {
                  "moving_toward": [
                    53,
                    61
                  ],
                  "pos": [
                    49,
                    55
                  ],
                  "shot_index": 4
                }
              ]
            },
            {
              "entity_token": "C01",
              "figure_id": "F02",
              "label": "한국인 남성",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    53,
                    61
                  ],
                  "shot_index": 4
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "L01",
              "kind": "area",
              "label": "숲속",
              "points": [
                [
                  0,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  100
                ],
                [
                  0,
                  100
                ]
              ]
            },
            {
              "id": "L02",
              "kind": "area",
              "label": "우거진 수풀",
              "points": [
                [
                  0,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  35
                ],
                [
                  78,
                  43
                ],
                [
                  55,
                  40
                ],
                [
                  35,
                  46
                ],
                [
                  0,
                  38
                ]
              ]
            },
            {
              "id": "L03",
              "kind": "area",
              "label": "흙바닥",
              "points": [
                [
                  25,
                  35
                ],
                [
                  75,
                  35
                ],
                [
                  82,
                  82
                ],
                [
                  18,
                  82
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "1:4": "SHOT 4 SPATIAL SUMMARY (computed from the site-layout coordinates — source of truth for figure depth, relative size and camera distance; it does NOT define left/right placement):\n- 한국인 남성 (C01): camera distance 10.8 units — NEAREST figure to the camera.\n- 정체불명의 검은 형상 (C03): camera distance 15.1 units; about 1.4x as far from the camera as the nearest figure, so they must appear roughly 0.71x the nearest figure's height (smaller, deeper in the frame); moving TOWARD the camera.\n- Depth contract: 정체불명의 검은 형상 is farther than 한국인 남성 and must read visibly smaller and deeper in the frame."
        }
      },
      {
        "group_id": "osl-l04",
        "location_id": "L04",
        "member_shots": [
          [
            10,
            5
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                55,
                58
              ],
              "pos": [
                48,
                58
              ],
              "shot_index": 5
            }
          ],
          "figures": [
            {
              "entity_token": "C16",
              "figure_id": "figure_1",
              "label": "누군가 (실루엣)",
              "positions": [
                {
                  "moving_toward": [
                    64,
                    61
                  ],
                  "pos": [
                    61,
                    56
                  ],
                  "shot_index": 5
                }
              ]
            },
            {
              "entity_token": "C17",
              "figure_id": "figure_2",
              "label": "다른 형체 (실루엣)",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    64,
                    61
                  ],
                  "shot_index": 5
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "landmark_1",
              "kind": "area",
              "label": "옥탑방 옥상",
              "points": [
                [
                  0,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  100
                ],
                [
                  0,
                  100
                ]
              ]
            },
            {
              "id": "landmark_2",
              "kind": "area",
              "label": "옥탑방",
              "points": [
                [
                  55,
                  35
                ],
                [
                  95,
                  35
                ],
                [
                  95,
                  80
                ],
                [
                  55,
                  80
                ]
              ]
            },
            {
              "id": "landmark_3",
              "kind": "line",
              "label": "유리창",
              "points": [
                [
                  55,
                  50
                ],
                [
                  55,
                  66
                ]
              ]
            },
            {
              "id": "landmark_4",
              "kind": "line",
              "label": "철문 현관",
              "points": [
                [
                  70,
                  35
                ],
                [
                  82,
                  35
                ]
              ]
            },
            {
              "id": "landmark_5",
              "kind": "area",
              "label": "물탱크",
              "points": [
                [
                  14,
                  12
                ],
                [
                  30,
                  12
                ],
                [
                  30,
                  28
                ],
                [
                  14,
                  28
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "10:5": "SHOT 5 SPATIAL SUMMARY (computed from the site-layout coordinates — source of truth for figure depth, relative size and camera distance; it does NOT define left/right placement):\n- 누군가 (실루엣) (C16): camera distance 13.2 units — NEAREST figure to the camera; moving AWAY from the camera (receding into the distance).\n- 다른 형체 (실루엣) (C17): camera distance 16.3 units; about 1.2x as far from the camera as the nearest figure, so they must appear roughly 0.81x the nearest figure's height (smaller, deeper in the frame).\n- Depth contract: 다른 형체 (실루엣) is farther than 누군가 (실루엣) and must read visibly smaller and deeper in the frame."
        }
      },
      {
        "group_id": "osl-l12",
        "location_id": "L12",
        "member_shots": [
          [
            15,
            5
          ],
          [
            15,
            7
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                50,
                60
              ],
              "pos": [
                36,
                38
              ],
              "shot_index": 5
            },
            {
              "look_at": [
                40,
                47
              ],
              "pos": [
                12,
                30
              ],
              "shot_index": 7
            }
          ],
          "figures": [
            {
              "entity_token": "C09",
              "figure_id": "figure_수리영",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": [
                    68,
                    82
                  ],
                  "pos": [
                    43,
                    49
                  ],
                  "shot_index": 5
                },
                {
                  "moving_toward": [
                    68,
                    82
                  ],
                  "pos": [
                    50,
                    58
                  ],
                  "shot_index": 7
                }
              ]
            },
            {
              "entity_token": "C06",
              "figure_id": "figure_혜수",
              "label": "혜수",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    30,
                    36
                  ],
                  "shot_index": 5
                },
                {
                  "moving_toward": null,
                  "pos": [
                    30,
                    36
                  ],
                  "shot_index": 7
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "landmark_sea",
              "kind": "area",
              "label": "sea",
              "points": [
                [
                  70,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  100
                ],
                [
                  82,
                  100
                ],
                [
                  60,
                  0
                ]
              ]
            },
            {
              "id": "landmark_coastal_road",
              "kind": "line",
              "label": "coastal road",
              "points": [
                [
                  34,
                  18
                ],
                [
                  48,
                  45
                ],
                [
                  68,
                  82
                ],
                [
                  76,
                  100
                ]
              ]
            },
            {
              "id": "landmark_bus_stop_area",
              "kind": "area",
              "label": "bus stop vicinity",
              "points": [
                [
                  20,
                  28
                ],
                [
                  38,
                  28
                ],
                [
                  38,
                  43
                ],
                [
                  20,
                  43
                ]
              ]
            },
            {
              "id": "landmark_roadside_bushes",
              "kind": "area",
              "label": "roadside bushes",
              "points": [
                [
                  0,
                  18
                ],
                [
                  24,
                  20
                ],
                [
                  24,
                  54
                ],
                [
                  0,
                  58
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "15:5": "SHOT 5 SPATIAL SUMMARY (computed from the site-layout coordinates — source of truth for figure depth, relative size and camera distance; it does NOT define left/right placement):\n- 혜수 (C06): camera distance 6.3 units — NEAREST figure to the camera.\n- 수리영 (C09): camera distance 13.0 units; about 2.1x as far from the camera as the nearest figure, so they must appear roughly 0.49x the nearest figure's height (smaller, deeper in the frame); moving AWAY from the camera (receding into the distance).\n- Depth contract: 수리영 is farther than 혜수 and must read visibly smaller and deeper in the frame.",
          "15:7": "SHOT 7 SPATIAL SUMMARY (computed from the site-layout coordinates — source of truth for figure depth, relative size and camera distance; it does NOT define left/right placement):\n- 혜수 (C06): camera distance 19.0 units — NEAREST figure to the camera.\n- 수리영 (C09): camera distance 47.2 units; about 2.5x as far from the camera as the nearest figure, so they must appear roughly 0.40x the nearest figure's height (smaller, deeper in the frame); moving AWAY from the camera (receding into the distance).\n- Depth contract: 수리영 is farther than 혜수 and must read visibly smaller and deeper in the frame."
        }
      },
      {
        "group_id": "osl-l18",
        "location_id": "L18",
        "member_shots": [
          [
            28,
            9
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                53,
                55
              ],
              "pos": [
                53,
                38
              ],
              "shot_index": 9
            }
          ],
          "figures": [
            {
              "entity_token": "C09",
              "figure_id": "figure_수리영",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    48,
                    54
                  ],
                  "shot_index": 9
                }
              ]
            },
            {
              "entity_token": "C24",
              "figure_id": "figure_인우",
              "label": "인우",
              "positions": [
                {
                  "moving_toward": [
                    53,
                    62
                  ],
                  "pos": [
                    57,
                    57
                  ],
                  "shot_index": 9
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "sea",
              "kind": "area",
              "label": "바다",
              "points": [
                [
                  0,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  100
                ],
                [
                  0,
                  100
                ]
              ]
            },
            {
              "id": "small_fishing_boat",
              "kind": "area",
              "label": "소형어선",
              "points": [
                [
                  24,
                  10
                ],
                [
                  76,
                  10
                ],
                [
                  82,
                  86
                ],
                [
                  50,
                  98
                ],
                [
                  18,
                  86
                ]
              ]
            },
            {
              "id": "deck",
              "kind": "area",
              "label": "갑판",
              "points": [
                [
                  25,
                  12
                ],
                [
                  75,
                  12
                ],
                [
                  72,
                  55
                ],
                [
                  28,
                  55
                ]
              ]
            },
            {
              "id": "pilothouse",
              "kind": "area",
              "label": "조타실",
              "points": [
                [
                  34,
                  55
                ],
                [
                  66,
                  55
                ],
                [
                  66,
                  79
                ],
                [
                  34,
                  79
                ]
              ]
            },
            {
              "id": "pilothouse_doorway",
              "kind": "line",
              "label": "조타실 입구",
              "points": [
                [
                  46,
                  55
                ],
                [
                  60,
                  55
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "28:9": "SHOT 9 SPATIAL SUMMARY (computed from the site-layout coordinates — source of truth for figure depth, relative size and camera distance; it does NOT define left/right placement):\n- 수리영 (C09): camera distance 16.8 units — NEAREST figure to the camera.\n- 인우 (C24): camera distance 19.4 units; about 1.2x as far from the camera as the nearest figure, so they must appear roughly 0.86x the nearest figure's height (smaller, deeper in the frame); moving AWAY from the camera (receding into the distance).\n- Depth contract: 인우 is farther than 수리영 and must read visibly smaller and deeper in the frame."
        }
      }
    ],
    "prompt_overrides": {
      "1:4": {
        "location_id": "L01",
        "group_id": "osl-l01",
        "revised": {
          "0": "Photorealistic cinematic still. C01O01 in a soiled outdoor jacket, an adult Korean man being forced down, buckles as the nearest, larger figure in the lower-right foreground, while C03O03 in dark ragged clothing, an unknown black figure, lunges from the upper-left midground, visibly smaller and deeper in the frame, moving toward the camera and down toward the Korean man below. Frozen mid-pitch, C03O03, seen at a three-quarter angle from the left, is the one driving the forceful action, pressing heavy weight downward. C01O01, captured in right profile, is the figure receiving the sudden force, his body pitched sharply toward the damp ground. His pale, sweat-slicked skin and disheveled hair reflect a desperate struggle, his wide panicked eyes looking up with a visibly wounded, pained expression. Carrying stable traits, C03O03 appears as a dense shadow-like form with blurred outlines, body volume preserved against the dim ambient fill by subtle rim light along the shoulder, the face completely obscured in deep shadow with no discernible features. A harsh red-brown smear of blood is visible on C01O01's torn pant leg and the cold mud beneath him, marking the severe injury. Viewed from a low knee-height angle, the frame is aggressively canted, causing the damp forest dirt and scattered leaves to rise diagonally across the view. Muted blue-gray dusk light sinks into the cold shadows, leaving the thin tree trunks and green-black foliage behind them slightly blurred to emphasize the intense impact, both figures anchored together on the same uneven dirt floor."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "a7802e826d399ce1",
            "revised_prompt_hash": "b654cde945464e41"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "buckles in the lower-right foreground",
              "revised": "buckles as the nearest, larger figure in the lower-right foreground"
            },
            {
              "original": "lunges from the upper-left midground, moving toward the Korean man below",
              "revised": "lunges from the upper-left midground, visibly smaller and deeper in the frame, moving toward the camera and down toward the Korean man below"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "10:5": {
        "location_id": "L04",
        "group_id": "osl-l04",
        "revised": {
          "0": "Photorealistic cinematic still. A dark rooftop window glass dominates the middle-center midground, viewed from outside at window height with the pane sitting flat across the frame. The glass reflects the faint exterior rooftop darkness while catching two merged backlit silhouettes from inside, making the violent attack appear flattened on the pane. An unidentified figure in right profile, exerting decisive force, is caught larger and nearest to the camera, lunging away from the camera across the upper-left portion over the other's shoulder. The other figure, a Korean middle-aged woman at three-quarter angle from the left, appears about 0.81x the attacker's height, smaller and deeper in the frame, buckling under the intense attack, her shoulder and torso collapsing farther from the camera into the middle-right darkness. Both figures appear as backlit shapes, body volume preserved against the dim interior ambient fill with cold rim light tracing the attacker's lunging shoulders and the victim's collapsing neck-and-shoulder outline, faces fully swallowed in deep shadow with no discernible features. The closed, weathered window frame boxes the silhouettes from the sides. The exterior wall of the rooftop room runs along the left edge, enveloped in a damp, blue-black lighting state with faint, suppressed street light spill outlining the architectural textures."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "cd7bb36388c7bd5a",
            "revised_prompt_hash": "589789b15d8bbbc3"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "An unidentified figure in right profile, exerting decisive force, is caught lunging across the upper-left portion over the other's shoulder.",
              "revised": "An unidentified figure in right profile, exerting decisive force, is caught larger and nearest to the camera, lunging away from the camera across the upper-left portion over the other's shoulder."
            },
            {
              "original": "The other figure, a Korean middle-aged woman at three-quarter angle from the left, is buckling under the intense attack, her shoulder and torso collapsing into the middle-right darkness.",
              "revised": "The other figure, a Korean middle-aged woman at three-quarter angle from the left, appears about 0.81x the attacker's height, smaller and deeper in the frame, buckling under the intense attack, her shoulder and torso collapsing farther from the camera into the middle-right darkness."
            }
          ]
        },
        "no_edit_reason": {}
      },
      "15:5": {
        "location_id": "L12",
        "group_id": "osl-l12",
        "revised": {
          "0": "Photorealistic cinematic still. C09 in a sporty windbreaker, a young Korean woman in her 20s with long black hair, moves away from the camera down the dark coastal road in the middle-center background, appearing smaller and deeper in the frame than the nearer woman, with the dark coastal road ahead receding into the upper-center background. Viewed from slightly behind at torso level, she is caught in a forward-tilted running posture with her back to the camera, one foot pushing off the wet asphalt and the other airborne mid-stride, her hair flowing back in the direction opposite to her motion. Separated across the same damp roadside space, a middle-aged Korean woman stands firmly in the nearest foreground near a stationary outdoor bus stop bench. This older woman is positioned at a three-quarter angle from the right, her eyes fixed on the running figure. Heavy blue-gray marine fog swallows the surrounding black sea, while a faint, warm glow spills from the bus stop, creating a chilling contrast against the cold, moonless night."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "0f50e8788744214d",
            "revised_prompt_hash": "4008c011600ca7d5"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "moves toward the dark coastal road in the middle-center foreground",
              "revised": "moves away from the camera down the dark coastal road in the middle-center background, appearing smaller and deeper in the frame than the nearer woman"
            },
            {
              "original": "a middle-aged Korean woman stands firmly near",
              "revised": "a middle-aged Korean woman stands firmly in the nearest foreground near"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "15:7": {
        "location_id": "L12",
        "group_id": "osl-l12",
        "revised": {
          "0": "Photorealistic cinematic still. A dark roadside foliage mask obscures the upper-left foreground, while a middle-aged Korean woman stands near the bus stop in the middle-left midground as the nearest figure to the camera, and a visibly smaller young Korean woman in mid-run moves away from the camera toward the coastal road darkness in the middle-right background. Captured from a hidden low-to-medium height inside wet roadside bushes, the voyeuristic handheld frame peers diagonally through the dark branches. The middle-aged woman in a navy jacket is seen at a three-quarter angle from the right, standing firmly rooted by a standard outdoor bus stop bench under a faint warm glow, her eyes fixed on the younger figure. The young woman in a sporty windbreaker, with her back to camera, is caught in a dynamic forward-tilted posture with one foot airborne in mid-stride, looking off-screen into the open negative space. The image is underexposed and cold, heavily enveloped in thick blue-gray marine fog, with tiny warm bus-stop highlights fractured by the black foreground foliage against the moonless darkness."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "2944124168b2f2a3",
            "revised_prompt_hash": "db14e4615827fba7"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "a middle-aged Korean woman stands near the bus stop in the middle-left midground, and a young Korean woman in mid-run moves toward the coastal road darkness in the middle-right midground",
              "revised": "a middle-aged Korean woman stands near the bus stop in the middle-left midground as the nearest figure to the camera, and a visibly smaller young Korean woman in mid-run moves away from the camera toward the coastal road darkness in the middle-right background"
            }
          ]
        },
        "no_edit_reason": {}
      },
      "28:9": {
        "location_id": "L18",
        "group_id": "osl-l18",
        "revised": {
          "0": "Photorealistic cinematic still. C09O07, representing Suriyeong blocking the threshold, a Korean young woman in a sporty windbreaker, occupies the middle-left foreground nearest to the camera, pointing toward Inwoo's chest. C24O15, representing Inwoo stopped in the doorway, a Korean young man in a fisherman waterproof jumper, occupies the middle-right midground, visibly smaller and deeper than C09O07, moving away from the camera toward the pilothouse doorway. Captured from a chest-height observer perspective, C09O07 is seen with her back to the camera, her arms locked bracing and her eyes fixed on C24O15, the figure exerting decisive force. C24O15 is at a three-quarter angle from the left, his chest driven forward into the contact point, his eyes fixed on C09O07. They share the wet metal threshold they both occupy, running horizontally across the lower frame. The open door forms hard vertical borders around both bodies, while the unlit wheelhouse interior swallows the space behind C24O15 in damp shadow. A cold, blue-gray dusk lighting envelops the aging boat, casting chilly shadows over the damp deck with no comforting warm light sources present."
        },
        "provenance": {
          "0": {
            "original_scene_detail_prompt_hash": "d220789d86dc45a4",
            "revised_prompt_hash": "2029bf136f3a70d3"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "occupies the middle-left foreground",
              "revised": "occupies the middle-left foreground nearest to the camera"
            },
            {
              "original": "occupies the middle-right midground, moving toward the pilothouse doorway",
              "revised": "occupies the middle-right midground, visibly smaller and deeper than C09O07, moving away from the camera toward the pilothouse doorway"
            }
          ]
        },
        "no_edit_reason": {}
      }
    },
    "diagnostics": {
      "outdoor_location_count": 13,
      "seed_group_count": 4,
      "groups_extracted": 4,
      "skipped": [
        {
          "shot": "S6sh1",
          "reason": "single_figure_moving"
        }
      ],
      "layout_shape_violations": [],
      "spatial_summary_skipped": [],
      "rewrite_failed": [],
      "revised_prompt_audit_violations": [],
      "zoom_member_exclusion_source": "shot_dependency_t2i"
    },
    "review_html": "review_html/index.html"
  },
  "step_id": "outdoor_site_layout",
  "run_id": "3f42743b-d1a9-4099-b6d5-86fb4c296d4e",
  "resolved_model": "gpt",
  "updated_at": "2026-06-12T12:38:22.313557+00:00",
  "project_config_snapshot": {}
}