{
  "status": "completed",
  "applicable_count": 4,
  "completed_count": 4,
  "failed_count": 0,
  "schema_version": 1,
  "config_hash": "56fd8b579760eb4a",
  "data": {
    "schema_version": 1,
    "groups": [
      {
        "group_id": "osl-l01",
        "location_id": "L01",
        "member_shots": [
          [
            1,
            4
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                50,
                50
              ],
              "pos": [
                50,
                40
              ],
              "shot_index": 4
            }
          ],
          "figures": [
            {
              "entity_token": "C03",
              "figure_id": "figure_1",
              "label": "정체불명의 검은 형상",
              "positions": [
                {
                  "moving_toward": [
                    53,
                    49
                  ],
                  "pos": [
                    47,
                    52
                  ],
                  "shot_index": 4
                }
              ]
            },
            {
              "entity_token": "C01",
              "figure_id": "figure_2",
              "label": "한국인 남성",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    53,
                    49
                  ],
                  "shot_index": 4
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "landmark_1",
              "kind": "area",
              "label": "숲속",
              "points": [
                [
                  0,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  100
                ],
                [
                  0,
                  100
                ]
              ]
            },
            {
              "id": "landmark_2",
              "kind": "area",
              "label": "우거진 수풀",
              "points": [
                [
                  10,
                  15
                ],
                [
                  90,
                  10
                ],
                [
                  95,
                  85
                ],
                [
                  15,
                  90
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "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- 숲속: at the near center of the frame.\n- 우거진 수풀: at the near right side of the frame.\nFIGURES:\n- 한국인 남성 (C01): at the near right side of the frame — NEAREST figure to the camera.\n- 정체불명의 검은 형상 (C03): at the mid-distance left side of the frame; about 1.3x as far from the camera as the nearest figure, so they must appear roughly 0.77x the nearest figure's height (smaller, deeper in the frame); in motion: already partway along their path, heading toward the near right side of the frame.\nDEPTH CONTRACT: 정체불명의 검은 형상 is farther than 한국인 남성 and must read visibly smaller and deeper in the frame."
        }
      },
      {
        "group_id": "osl-l04",
        "location_id": "L04",
        "member_shots": [
          [
            10,
            5
          ]
        ],
        "layout": {
          "cameras": [
            {
              "look_at": [
                55,
                43
              ],
              "pos": [
                55,
                34
              ],
              "shot_index": 5
            }
          ],
          "figures": [
            {
              "entity_token": "C16",
              "figure_id": "figure_1",
              "label": "누군가 (실루엣)",
              "positions": [
                {
                  "moving_toward": [
                    61,
                    50
                  ],
                  "pos": [
                    50,
                    51
                  ],
                  "shot_index": 5
                }
              ]
            },
            {
              "entity_token": "C17",
              "figure_id": "figure_2",
              "label": "다른 형체 (실루엣)",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    61,
                    50
                  ],
                  "shot_index": 5
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "lm_rooftop",
              "kind": "area",
              "label": "옥탑방 옥상",
              "points": [
                [
                  15,
                  15
                ],
                [
                  90,
                  15
                ],
                [
                  90,
                  90
                ],
                [
                  15,
                  90
                ]
              ]
            },
            {
              "id": "lm_rooftop_room",
              "kind": "area",
              "label": "옥탑방",
              "points": [
                [
                  35,
                  40
                ],
                [
                  75,
                  40
                ],
                [
                  75,
                  75
                ],
                [
                  35,
                  75
                ]
              ]
            },
            {
              "id": "lm_exterior_wall",
              "kind": "line",
              "label": "rooftop room exterior wall",
              "points": [
                [
                  35,
                  40
                ],
                [
                  75,
                  40
                ]
              ]
            },
            {
              "id": "lm_window",
              "kind": "line",
              "label": "dark window glass",
              "points": [
                [
                  48,
                  40
                ],
                [
                  65,
                  40
                ]
              ]
            },
            {
              "id": "lm_iron_door",
              "kind": "line",
              "label": "옥탑방 철문 현관",
              "points": [
                [
                  36,
                  53
                ],
                [
                  36,
                  63
                ]
              ]
            },
            {
              "id": "lm_water_tank",
              "kind": "area",
              "label": "물탱크",
              "points": [
                [
                  72,
                  78
                ],
                [
                  85,
                  78
                ],
                [
                  85,
                  89
                ],
                [
                  72,
                  89
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "10:5": "SHOT 5 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- 옥탑방 옥상: at the near center of the frame.\n- 옥탑방: at the mid-distance center of the frame.\n- rooftop room exterior wall (path): runs from the mid-distance left side of the frame to the mid-distance right side of the frame.\n- dark window glass (path): runs from the near left side of the frame to the near right side 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 right side of the frame.\nFIGURES:\n- 다른 형체 (실루엣) (C17): at the near right side of the frame — NEAREST figure to the camera.\n- 누군가 (실루엣) (C16): at the near left side of the frame; about 1.0x as far from the camera as the nearest figure, so they must appear roughly 0.96x the nearest figure's height (smaller, deeper in the frame); in motion: already partway along their path, heading toward the near right side of the frame.\nDEPTH 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": [
                54,
                65
              ],
              "pos": [
                43,
                20
              ],
              "shot_index": 5
            },
            {
              "look_at": [
                49,
                42
              ],
              "pos": [
                64,
                16
              ],
              "shot_index": 7
            }
          ],
          "figures": [
            {
              "entity_token": "C09",
              "figure_id": "suriyoung",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": [
                    66,
                    88
                  ],
                  "pos": [
                    52,
                    52
                  ],
                  "shot_index": 5
                },
                {
                  "moving_toward": [
                    76,
                    88
                  ],
                  "pos": [
                    70,
                    55
                  ],
                  "shot_index": 7
                }
              ]
            },
            {
              "entity_token": "C06",
              "figure_id": "hyesu",
              "label": "혜수",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    34,
                    32
                  ],
                  "shot_index": 5
                },
                {
                  "moving_toward": null,
                  "pos": [
                    34,
                    32
                  ],
                  "shot_index": 7
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "bus_stop_area",
              "kind": "area",
              "label": "bus stop area",
              "points": [
                [
                  24,
                  24
                ],
                [
                  43,
                  24
                ],
                [
                  43,
                  40
                ],
                [
                  24,
                  40
                ]
              ]
            },
            {
              "id": "coastal_road",
              "kind": "area",
              "label": "dark coastal road",
              "points": [
                [
                  44,
                  10
                ],
                [
                  61,
                  10
                ],
                [
                  78,
                  96
                ],
                [
                  56,
                  96
                ]
              ]
            },
            {
              "id": "night_sea",
              "kind": "area",
              "label": "night sea",
              "points": [
                [
                  80,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  100
                ],
                [
                  84,
                  100
                ],
                [
                  72,
                  48
                ]
              ]
            },
            {
              "id": "roadside_bushes",
              "kind": "area",
              "label": "roadside bushes",
              "points": [
                [
                  55,
                  7
                ],
                [
                  76,
                  7
                ],
                [
                  78,
                  29
                ],
                [
                  58,
                  31
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "15:5": "SHOT 5 SCENE GEOGRAPHY (computed from the site-layout coordinates, frame-relative from this shot's camera — source of truth for where things are, which way paths run, figure depth and relative size):\n- bus stop area: at the near left side of the frame.\n- dark coastal road (path): runs from the near right side of the frame to the far center of the frame.\n- night sea (path): runs from the far right side of the frame to the far right side of the frame.\n- roadside bushes: at the mid-distance right side of the frame.\nFIGURES:\n- 혜수 (C06): at the near left side of the frame — NEAREST figure to the camera.\n- 수리영 (C09): 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 far center of the frame; their path follows the dark coastal road; moving away from 혜수; NOT heading into the night sea.\nDEPTH CONTRACT: 수리영 is farther than 혜수 and must read visibly smaller and deeper in the frame.",
          "15:7": "SHOT 7 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- bus stop area: at the near left side of the frame.\n- dark coastal road (path): runs from the near left side of the frame to the mid-distance right side of the frame.\n- night sea (path): runs from the near right side of the frame to the far right side of the frame.\n- roadside bushes: at the near right side of the frame.\nFIGURES:\n- 혜수 (C06): at the near left side of the frame — NEAREST figure to the camera.\n- 수리영 (C09): at the near right side of the frame; 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); in motion: already partway along their path, heading toward the mid-distance right side of the frame; their path follows the dark coastal road; moving away from 혜수; NOT heading into the night sea.\nDEPTH 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": [
                50,
                52
              ],
              "pos": [
                50,
                36
              ],
              "shot_index": 9
            }
          ],
          "figures": [
            {
              "entity_token": "C09",
              "figure_id": "figure_수리영",
              "label": "수리영",
              "positions": [
                {
                  "moving_toward": null,
                  "pos": [
                    47,
                    48
                  ],
                  "shot_index": 9
                }
              ]
            },
            {
              "entity_token": "C24",
              "figure_id": "figure_인우",
              "label": "인우",
              "positions": [
                {
                  "moving_toward": [
                    53,
                    62
                  ],
                  "pos": [
                    54,
                    53
                  ],
                  "shot_index": 9
                }
              ]
            }
          ],
          "landmarks": [
            {
              "id": "sea",
              "kind": "area",
              "label": "sea",
              "points": [
                [
                  0,
                  0
                ],
                [
                  100,
                  0
                ],
                [
                  100,
                  100
                ],
                [
                  0,
                  100
                ]
              ]
            },
            {
              "id": "small_fishing_boat",
              "kind": "area",
              "label": "small fishing boat",
              "points": [
                [
                  50,
                  95
                ],
                [
                  72,
                  72
                ],
                [
                  68,
                  18
                ],
                [
                  60,
                  8
                ],
                [
                  40,
                  8
                ],
                [
                  32,
                  18
                ],
                [
                  28,
                  72
                ]
              ]
            },
            {
              "id": "deck",
              "kind": "area",
              "label": "deck",
              "points": [
                [
                  32,
                  18
                ],
                [
                  68,
                  18
                ],
                [
                  68,
                  48
                ],
                [
                  32,
                  48
                ]
              ]
            },
            {
              "id": "pilothouse",
              "kind": "area",
              "label": "pilothouse",
              "points": [
                [
                  38,
                  48
                ],
                [
                  62,
                  48
                ],
                [
                  62,
                  70
                ],
                [
                  38,
                  70
                ]
              ]
            },
            {
              "id": "pilothouse_doorway",
              "kind": "line",
              "label": "pilothouse doorway",
              "points": [
                [
                  45,
                  48
                ],
                [
                  55,
                  48
                ]
              ]
            }
          ]
        },
        "spatial_summaries": {
          "28: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: at the near center of the frame.\n- small fishing boat (path): runs from the mid-distance right side of the frame to the far center of the frame.\n- deck: at the near center of the frame.\n- pilothouse: at the mid-distance center of the frame.\n- pilothouse doorway (path): runs from the near left side of the frame to the near right side of the frame.\nFIGURES:\n- 수리영 (C09): at the near left side of the frame — NEAREST figure to the camera.\n- 인우 (C24): at the mid-distance right side of the frame; 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); in motion: already partway along their path, heading toward the mid-distance center of the frame; their path follows the small fishing boat; moving away from 수리영; NOT heading into the sea.\nDEPTH 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 in the lower-right foreground, while C03O03 in dark ragged clothing, an unknown black figure, lunges smaller and deeper in the upper-left mid-distance, already partway out of the left side along its path toward the near right side of the frame and toward the Korean man below, not into the central forest depth. 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": "c4d2e2c631439bcd"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "C03O03 in dark ragged clothing, an unknown black figure, lunges from the upper-left midground, moving toward the Korean man below.",
              "revised": "C03O03 in dark ragged clothing, an unknown black figure, lunges smaller and deeper in the upper-left mid-distance, already partway out of the left side along its path toward the near right side of the frame and toward the Korean man below, not into the central forest depth."
            }
          ]
        },
        "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 already partway from the near left side toward the near right side along the dark window glass path, moving away from the near-left side and not into the mid-distance rooftop room exterior wall, lunging across the upper-left portion over the other's shoulder, set deeper and visibly slightly smaller than the other figure. 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. 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": "1dbd3ea0683b79ef"
          }
        },
        "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 already partway from the near left side toward the near right side along the dark window glass path, moving away from the near-left side and not into the mid-distance rooftop room exterior wall, lunging across the upper-left portion over the other's shoulder, set deeper and visibly slightly smaller than the other figure."
            }
          ]
        },
        "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, is already partway along the dark coastal road at the mid-distance center, visibly smaller and deeper in the frame, heading toward the far center of the frame along the road, away from the older woman by the bus stop and not into the night sea, with the dark coastal road 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 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": "bcd420719a9ae235"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "moves toward the dark coastal road in the middle-center foreground, with the dark coastal road ahead receding into the upper-center background.",
              "revised": "is already partway along the dark coastal road at the mid-distance center, visibly smaller and deeper in the frame, heading toward the far center of the frame along the road, away from the older woman by the bus stop and not into the night sea, with the dark coastal road receding into the upper-center background."
            }
          ]
        },
        "no_edit_reason": {}
      },
      "15:7": {
        "location_id": "L12",
        "group_id": "osl-l12",
        "revised": {
          "0": "Photorealistic cinematic still. The dark coastal road runs from the near left side of the frame toward the mid-distance right side, while the night sea stays along the right side. 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, and a visibly smaller young Korean woman in mid-run is already partway along the dark coastal road in the middle-right midground, deeper in the frame, heading toward the mid-distance right side, moving away from her and not into the night sea. 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": "59d2ecb7de08c39b"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "",
              "revised": "The dark coastal road runs from the near left side of the frame toward the mid-distance right side, while the night sea stays along the right side."
            },
            {
              "original": "a young Korean woman in mid-run moves toward the coastal road darkness in the middle-right midground",
              "revised": "a visibly smaller young Korean woman in mid-run is already partway along the dark coastal road in the middle-right midground, deeper in the frame, heading toward the mid-distance right side, moving away from her and not into the night sea"
            }
          ]
        },
        "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, 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, already partway toward the pilothouse doorway along the small fishing boat path leading to the mid-distance center, moving away from C09O07 and not into the sea, visibly smaller and deeper in the frame. 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": "14735b78c52cf67d"
          }
        },
        "edited_spans": {
          "0": [
            {
              "original": "occupies the middle-right midground, moving toward the pilothouse doorway.",
              "revised": "occupies the middle-right midground, already partway toward the pilothouse doorway along the small fishing boat path leading to the mid-distance center, moving away from C09O07 and not into the sea, visibly smaller and deeper in the frame."
            }
          ]
        },
        "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": [],
      "layout_side_conflicts": [],
      "spatial_summary_skipped": [],
      "rewrite_failed": [],
      "revised_prompt_audit_violations": [],
      "zoom_member_exclusion_source": "shot_dependency_t2i",
      "composition_guide_failed": [],
      "composition_guide_count": 5
    },
    "composition_guides": {
      "1:4": {
        "path": "composition_guides/S1sh4.png",
        "location_id": "L01",
        "model": "gpt-image-2",
        "brief_model": "gemini-3.1-pro-preview",
        "brief": "From a low, canted angle, the forest interior with its dirt floor and tree trunks occupies the near center, while dense bushes fill the near right foreground. The one receiving the force is positioned in the right foreground, anchoring the shot as the largest figure. Because this figure is attending to the other person deeper in the frame, his head and body are turned away from the lens toward the left midground. The one driving the action lunges from the left midground, appearing visibly smaller at roughly three-quarters the size of the foreground figure. Since this driving figure is moving toward the near-right foreground, their head and body are oriented forward, facing the lens.",
        "sketch_prompt_hash": "9b68e7b9e31147ed",
        "brief_hash": "7e6498d56e0143d8",
        "source_summary_hash": "97473570dddc7923"
      },
      "10:5": {
        "path": "composition_guides/S10sh5.png",
        "location_id": "L04",
        "model": "gpt-image-2",
        "brief_model": "gemini-3.1-pro-preview",
        "brief": "The foreground features the rooftop surface in the center and a window glass spanning from the near left to the near right. The midground contains the rooftop room in the center, its exterior wall running from left to right, and an iron door entrance on the left, while a water tank sits in the background on the far right. The collapsing figure is positioned in the foreground on the right as the nearest and largest subject, facing left and slightly away from the lens toward the deeper attacker. The lunging figure is located in the foreground on the left, appearing slightly smaller and deeper in the frame. Because the lunging figure is moving toward the nearer collapsing figure on the right, their head and body are oriented right and angled slightly toward the camera.",
        "sketch_prompt_hash": "9b68e7b9e31147ed",
        "brief_hash": "9fd2da8775c5f1aa",
        "source_summary_hash": "5de41771e5f99c10"
      },
      "15:5": {
        "path": "composition_guides/S15sh5.png",
        "location_id": "L12",
        "model": "gpt-image-2",
        "brief_model": "gemini-3.1-pro-preview",
        "brief": "The standing woman is positioned in the left foreground as the largest figure, and because she is looking at a target in the center midground, her head and body are angled inward and slightly away from the camera. The running woman is located in the center midground, scaled to roughly 0.45x the height of the standing woman, and because she is moving toward the far center background, her back is turned entirely to the lens. The bus stop area and its bench anchor the near left foreground beside the standing woman. The coastal road originates in the near right foreground and recedes diagonally into the far center background, forming the path for the running figure. Roadside bushes occupy the right midground, while the sea fills the far right background.",
        "sketch_prompt_hash": "9b68e7b9e31147ed",
        "brief_hash": "8b89cf986b9be287",
        "source_summary_hash": "7fc33707a7eb971d"
      },
      "15:7": {
        "path": "composition_guides/S15sh7.png",
        "location_id": "L12",
        "model": "gpt-image-2",
        "brief_model": "gemini-3.1-pro-preview",
        "brief": "The environment includes roadside bushes in the near right foreground and a bus stop area in the near left. A coastal road stretches from the near left to the mid-distance right, bordered by the sea running from the near right to the far right background. The one staying stands in the near left foreground by the bus stop, serving as the largest figure in the frame. Because she is looking at the second person who is deeper and to the right, her head and body are turned right and angled away from the lens. The one leaving is positioned in the right midground, appearing roughly 0.86x the size of the first figure, and because she is moving along the road toward the mid-distance right, she faces right and away from the camera.",
        "sketch_prompt_hash": "9b68e7b9e31147ed",
        "brief_hash": "067517e03efc4a94",
        "source_summary_hash": "40ef477bc21aed4d"
      },
      "28:9": {
        "path": "composition_guides/S28sh9.png",
        "location_id": "L18",
        "model": "gpt-image-2",
        "brief_model": "gemini-3.1-pro-preview",
        "brief": "The one blocking the threshold anchors the foreground on the left as the largest figure, her head and body turned away from the lens and angled right to face the deeper figure. The one stopped in the doorway occupies the midground on the right, appearing visibly smaller, with his head and body angled forward and left toward the camera to look back at the blocking figure. The deck and the sea occupy the near center of the frame, intersected by the pilothouse doorway that runs horizontally from the near left to the near right. Deeper in the frame, the pilothouse is positioned in the midground center, while the small fishing boat stretches from the midground right toward the background center.",
        "sketch_prompt_hash": "9b68e7b9e31147ed",
        "brief_hash": "6afbaa81aa9b8ad2",
        "source_summary_hash": "0c90ef0dc19eda90"
      }
    },
    "review_html": "review_html/index.html"
  },
  "step_id": "outdoor_site_layout",
  "run_id": "2f298f3b-f1bb-4056-aea2-4b7abf511912",
  "resolved_model": "gpt",
  "updated_at": "2026-06-13T12:08:42.072229+00:00",
  "project_config_snapshot": {}
}