{
  "status": "completed",
  "applicable_count": 1,
  "completed_count": 6,
  "failed_count": 0,
  "schema_version": 10,
  "config_hash": "98833fa1843c165d",
  "data": {
    "per_fp": {
      "fp_l01_classroom": {
        "fp_id": "fp_l01_classroom",
        "shot_aware_bg_render_plan_status": "ok",
        "graph": {
          "nodes": [
            {
              "bg_id": "L01B01",
              "node_index": 0,
              "mode": "fp_seeded_anchor",
              "is_dwelling_identity_anchor": true,
              "rationale": "L01B01 is the sole supplied clean-anchor candidate and must establish the fixed dwelling identity without a prior reference. A normal view from unit 3 toward unit 2 supports the close framings in S1_Shot4 and S1_Shot8 by retaining marker 9 as softened context while directing the frame toward opening marker 10 and the unit-2 side of the fixed layout.",
              "reference_decision": {
                "selected_refs": [],
                "rejected_refs": [],
                "same_physical_space_dedup_decision": "not_applicable_anchor",
                "why_single_ref_or_two_refs": "No same-fp references are available, so the dwelling-identity anchor is rendered directly from the floor plan.",
                "physical_space_id_per_ref": [],
                "same_physical_space_low_delta_candidate": false,
                "low_delta_reuse_target_bg_id": "",
                "low_delta_rationale": ""
              },
              "camera_decision": {
                "camera_unit": 3,
                "camera_cell": [
                  1,
                  8
                ],
                "look_at_unit": 2,
                "look_at_cell": [
                  1,
                  1
                ],
                "lens_enum": "normal",
                "fov_deg": 50,
                "framing_notes": "Use neutral 50-degree coverage from camera unit 3 at [1,8], directed toward unit 2 with the exact candidate look-at cell [1,1]. Preserve enough depth around marker 9 for softened row context and enough right-side opening context for marker 10 while allowing the consuming shots to crop closely around their subjects."
              },
              "render_guidance": {
                "visible_space_directive": "Show the portion of unit 3 visible toward unit 2 from camera cell [1,8] and look-at cell [1,1] with a normal lens. Keep base marker 9 as receding fixed context and opening marker 10 available as the staged sight-line destination; retain the established positions of applicable fixed markers 7, 8, 15, and 16 only where they fall within this view.",
                "camera_framing_directive": "Frame from unit 3 at [1,8] toward unit 2 and [1,1] using neutral 50-degree coverage. The base plate must permit the close subject isolation required by S1_Shot4 and S1_Shot8 while leaving softened depth around marker 9 and usable look space toward marker 10.",
                "subject_position_directive": "For S1_Shot4, reserve the left half for a profile subject turning toward the right-side opening context, with only soft partial subject cues associated with marker 17 behind. For S1_Shot8, reserve the center-right midground for a close three-quarter subject above marker 9, with the fixed rows receding diagonally behind. Do not add subjects beyond the commitments represented by markers 17 and 19 and the surfaced staging.",
                "state_cue_directive": "Carry the committed transient cues represented by markers 17, 18, 19, and 20: marker 17 in the row context, marker 18 where required by the close subject staging, marker 19 at its committed standing position, and marker 20 beyond the applicable opening context. Keep the fixed base elements numbered 1 through 16 structurally consistent.",
                "negative_continuity_directive": "Do not reposition fixed markers 7, 8, 9, 10, 15, or 16, do not place markers 17 through 20 outside their committed relationships to the fixed layout, and do not introduce unlisted subjects, transient markers, openings, or units outside the chosen 50-degree view."
              },
              "render_action": "render_new_plate",
              "reuse_target_bg_id": "",
              "anchor_shot_id": "",
              "projection_card_id": "",
              "projection_card_hash": "",
              "projection_card_state": "not_applicable",
              "projection_card_fallback_reason": "no_projection_card_target",
              "projection_card_source_bg_id": "L01B01",
              "projection_card_inherited": false,
              "plate_group_id": "L01B01",
              "plate_anchor_bg_id": "L01B01",
              "needs_new_plate": true,
              "plate_anchor_shot_id": "",
              "plate_shareability": "exclusive",
              "render_order_index": 0,
              "ref_tree_parents": [],
              "ref_role_per_parent": {},
              "max_refs": 2,
              "render_action_source": "geometry_route",
              "partition_fallback_reason": "partition_plan_missing"
            }
          ]
        },
        "validators": {
          "required_shape_ok": true,
          "graph_completeness_ok": true,
          "node_index_order_ok": true,
          "dag_ok": true,
          "max_refs_per_bg_ok": true,
          "two_refs_distinct_spaces_ok": true,
          "same_fp_only_ok": true,
          "anchor_exactly_one_ok": true,
          "anchor_in_clean_candidate_set_ok": true,
          "camera_in_candidates_ok": true,
          "rationale_and_mode_ok": true,
          "synthetic_readback_production_clear": true,
          "all_validators_passed": true,
          "diagnostics": [],
          "render_action_routing_ok": true,
          "reuse_plate_count": 0,
          "card_withhold_count": 0,
          "projection_card_state_counts": {
            "not_applicable": 1
          },
          "plate_group_count": 1,
          "plate_shareability_counts": {
            "exclusive": 1
          },
          "dag_node_count": 1,
          "space_partition_applied": false,
          "space_partition_fallback_reason": "partition_plan_missing"
        },
        "real_api_call_counts": {
          "image": 0,
          "llm": 1,
          "vlm": 0
        },
        "readback_status": "ok",
        "production_clear": true,
        "diagnostics": []
      },
      "fp_l02_concrete_stairs": {
        "fp_id": "fp_l02_concrete_stairs",
        "shot_aware_bg_render_plan_status": "ok",
        "graph": {
          "nodes": [
            {
              "bg_id": "L02B01",
              "node_index": 0,
              "mode": "fp_seeded_anchor",
              "is_dwelling_identity_anchor": true,
              "rationale": "L02B01 is the sole supplied anchor candidate and the same-fp reference catalog is empty, so it establishes dwelling identity directly from the floor plan. Camera unit 4 at [2,4], aimed toward unit 3 through look-at cell [5,4] with a wide 90-degree lens, supports the surfaced shots' broad structural context while retaining an axis usable for the staged medium and close framing.",
              "reference_decision": {
                "selected_refs": [],
                "rejected_refs": [],
                "same_physical_space_dedup_decision": "not_applicable_anchor",
                "why_single_ref_or_two_refs": "No reference is selected because this first node is the floor-plan-seeded identity anchor and no same-fp catalog reference is available.",
                "physical_space_id_per_ref": [],
                "same_physical_space_low_delta_candidate": false,
                "low_delta_reuse_target_bg_id": "",
                "low_delta_rationale": ""
              },
              "camera_decision": {
                "camera_unit": 4,
                "camera_cell": [
                  2,
                  4
                ],
                "look_at_unit": 3,
                "look_at_cell": [
                  5,
                  4
                ],
                "lens_enum": "wide",
                "fov_deg": 90,
                "framing_notes": "Use broad coverage from unit 4 toward unit 3. The selected high-side axis supports the wide staged view of the fixed geometry, while downstream shot crops may isolate the medium and close compositions without changing the established structure."
              },
              "render_guidance": {
                "visible_space_directive": "Show the fixed structure from camera unit 4 toward look-at unit 3, with broad coverage of target units 1, 2, 3, 4, 5, and 6 where supported by the view. Keep persistent fixture marker 7 structurally integrated, and include opening markers 8, 9, and 10 only where they fall within this chosen 90-degree view.",
                "camera_framing_directive": "Place the camera at unit 4 cell [2,4] and aim toward unit 3 through look-at cell [5,4]. Use the wide 90-degree field of view for broad geometric coverage, preserving enough surrounding fixed structure for the surfaced wide shot and a stable spatial axis from which the medium and close shot framings can be cropped.",
                "subject_position_directive": "Reserve the middle-step region for the solitary seated subject shown small in the wide staging. Also preserve a diagonal shared axis for the medium staging, with one seated subject in the foreground middle-right and the other higher in the midground middle-left. The close staging isolates one foreground eye near middle-center with the lowered gaze directed below the frame edge; do not invent additional subjects.",
                "state_cue_directive": "Carry transient markers 11, 12, 13, and 14 only as required by the surfaced shot staging, including the committed held-object and matching-display relationships. Maintain the subdued neutral ambient state described by the shots and keep the surrounding fixed structure otherwise quiet and unoccupied.",
                "negative_continuity_directive": "Do not alter the positions or relationships of base markers 1 through 10 when accommodating transient markers 11 through 14. Do not add unlisted subjects, state overlays, fixtures, openings, or scenario-specific elements, and do not depict units or openings outside what the selected camera axis and 90-degree view can support."
              },
              "render_action": "render_new_plate",
              "reuse_target_bg_id": "",
              "anchor_shot_id": "",
              "projection_card_id": "",
              "projection_card_hash": "",
              "projection_card_state": "not_applicable",
              "projection_card_fallback_reason": "no_projection_card_target",
              "projection_card_source_bg_id": "L02B01",
              "projection_card_inherited": false,
              "plate_group_id": "L02B01",
              "plate_anchor_bg_id": "L02B01",
              "needs_new_plate": true,
              "plate_anchor_shot_id": "",
              "plate_shareability": "exclusive",
              "render_order_index": 0,
              "ref_tree_parents": [],
              "ref_role_per_parent": {},
              "max_refs": 2,
              "render_action_source": "geometry_route",
              "partition_fallback_reason": "partition_plan_missing"
            }
          ]
        },
        "validators": {
          "required_shape_ok": true,
          "graph_completeness_ok": true,
          "node_index_order_ok": true,
          "dag_ok": true,
          "max_refs_per_bg_ok": true,
          "two_refs_distinct_spaces_ok": true,
          "same_fp_only_ok": true,
          "anchor_exactly_one_ok": true,
          "anchor_in_clean_candidate_set_ok": true,
          "camera_in_candidates_ok": true,
          "rationale_and_mode_ok": true,
          "synthetic_readback_production_clear": true,
          "all_validators_passed": true,
          "diagnostics": [],
          "render_action_routing_ok": true,
          "reuse_plate_count": 0,
          "card_withhold_count": 0,
          "projection_card_state_counts": {
            "not_applicable": 1
          },
          "plate_group_count": 1,
          "plate_shareability_counts": {
            "exclusive": 1
          },
          "dag_node_count": 1,
          "space_partition_applied": false,
          "space_partition_fallback_reason": "partition_plan_missing"
        },
        "real_api_call_counts": {
          "image": 0,
          "llm": 1,
          "vlm": 0
        },
        "readback_status": "ok",
        "production_clear": true,
        "diagnostics": []
      },
      "fp_l06_bench_frontage": {
        "fp_id": "fp_l06_bench_frontage",
        "shot_aware_bg_render_plan_status": "ok",
        "graph": {
          "nodes": [
            {
              "bg_id": "L06B01",
              "node_index": 0,
              "mode": "fp_seeded_anchor",
              "is_dwelling_identity_anchor": true,
              "rationale": "L06B01 is the sole clean anchor candidate and has no prior same-fp references. A wide view from unit 3 toward unit 1 supports the broad establishing requirements of S6_Shot1 while retaining marker 6 and the closer bench-supported framings required by S6_Shot3, S8_Shot2, and S8_Shot6.",
              "reference_decision": {
                "selected_refs": [],
                "rejected_refs": [],
                "same_physical_space_dedup_decision": "not_applicable_anchor",
                "why_single_ref_or_two_refs": "No reference is selected because this first node establishes the dwelling identity directly from the supplied floor plan.",
                "physical_space_id_per_ref": [],
                "same_physical_space_low_delta_candidate": false,
                "low_delta_reuse_target_bg_id": "",
                "low_delta_rationale": ""
              },
              "camera_decision": {
                "camera_unit": 3,
                "camera_cell": [
                  6,
                  5
                ],
                "look_at_unit": 1,
                "look_at_cell": [
                  4,
                  7
                ],
                "lens_enum": "wide",
                "fov_deg": 90,
                "framing_notes": "Use broad coverage from unit 3, directing the view toward unit 1 and marker 5 at look-at cell [4,7]. Preserve unit 3 as the near approach context while including units 2 and 1, opening marker 4, and the required marker 6 support in the composition."
              },
              "render_guidance": {
                "visible_space_directive": "From camera unit 3 at [6,5], show the camera-side context of unit 3 and broad visibility toward units 2 and 1, with opening marker 4 and fixed marker 5 readable along the look direction to [4,7]. Include marker 6 as required by the BG facts; the visible-unit and visible-opening supersets support units 1 and 2 and opening 4 from this camera unit.",
                "camera_framing_directive": "Frame from camera unit 3 at [6,5] toward look-at unit 1 and look-at cell [4,7] with the wide lens at 90 degrees. Use broad coverage that can hold markers 1, 2, and 3 together, place marker 5 in the upper portion for the establishing framing, and retain marker 6 across the lower or midground support plane for the consuming wide, medium, and insert shots.",
                "subject_position_directive": "Keep the clean BG plate free of rendered subjects while reserving the staged subject zones: S6_Shot1 places two seated figures separately in the lower-left and lower-center midground; S8_Shot2 places the nearer seated figure on the left and the second figure in side profile on the right along marker 6. The insert framings in S6_Shot3 and S8_Shot6 require clear central space for overlapping hands and partial forearms or laps, with marker 6 remaining visible as scale support.",
                "state_cue_directive": "No committed state cue beyond \"clean residential space\" applies because clean_background_expected is true and no transient marker numbers are listed. Preserve the restrained cool-gray ambient treatment committed by the surfaced shots and refrain from inventing additional state cues.",
                "negative_continuity_directive": "Do not introduce unlisted transient overlays, additional openings beyond marker 4, additional structural units beyond markers 1, 2, and 3, or unnumbered scenario-specific elements. Keep markers 4, 5, and 6 in positions consistent with the supplied floor-plan geometry, and do not place subjects into the clean background plate."
              },
              "render_action": "render_new_plate",
              "reuse_target_bg_id": "",
              "anchor_shot_id": "",
              "projection_card_id": "",
              "projection_card_hash": "",
              "projection_card_state": "not_applicable",
              "projection_card_fallback_reason": "no_projection_card_target",
              "projection_card_source_bg_id": "L06B01",
              "projection_card_inherited": false,
              "plate_group_id": "L06B01",
              "plate_anchor_bg_id": "L06B01",
              "needs_new_plate": true,
              "plate_anchor_shot_id": "",
              "plate_shareability": "exclusive",
              "render_order_index": 0,
              "ref_tree_parents": [],
              "ref_role_per_parent": {},
              "max_refs": 2,
              "render_action_source": "geometry_route",
              "partition_fallback_reason": "partition_plan_missing"
            }
          ]
        },
        "validators": {
          "required_shape_ok": true,
          "graph_completeness_ok": true,
          "node_index_order_ok": true,
          "dag_ok": true,
          "max_refs_per_bg_ok": true,
          "two_refs_distinct_spaces_ok": true,
          "same_fp_only_ok": true,
          "anchor_exactly_one_ok": true,
          "anchor_in_clean_candidate_set_ok": true,
          "camera_in_candidates_ok": true,
          "rationale_and_mode_ok": true,
          "synthetic_readback_production_clear": true,
          "all_validators_passed": true,
          "diagnostics": [],
          "render_action_routing_ok": true,
          "reuse_plate_count": 0,
          "card_withhold_count": 0,
          "projection_card_state_counts": {
            "not_applicable": 1
          },
          "plate_group_count": 1,
          "plate_shareability_counts": {
            "exclusive": 1
          },
          "dag_node_count": 1,
          "space_partition_applied": false,
          "space_partition_fallback_reason": "partition_plan_missing"
        },
        "real_api_call_counts": {
          "image": 0,
          "llm": 1,
          "vlm": 0
        },
        "readback_status": "ok",
        "production_clear": true,
        "diagnostics": []
      },
      "fp_l07_metal_corridor": {
        "fp_id": "fp_l07_metal_corridor",
        "shot_aware_bg_render_plan_status": "ok",
        "graph": {
          "nodes": [
            {
              "bg_id": "L07B01",
              "node_index": 0,
              "mode": "fp_seeded_anchor",
              "is_dwelling_identity_anchor": true,
              "rationale": "This is the sole clean anchor candidate and the only render-ready BG. It is seeded directly from the floor plan with no prior same-fp reference. A wide view from camera unit 1 toward look-at unit 4 supports the staged corner-focused compositions while retaining broad coverage of target units 1, 2, 3, and 4 and fixed marker 5.",
              "reference_decision": {
                "selected_refs": [],
                "rejected_refs": [],
                "same_physical_space_dedup_decision": "not_applicable_anchor_without_references",
                "why_single_ref_or_two_refs": "No same-fp references are available, so this dwelling-identity anchor must be rendered fresh from the floor plan.",
                "physical_space_id_per_ref": [],
                "same_physical_space_low_delta_candidate": false,
                "low_delta_reuse_target_bg_id": "",
                "low_delta_rationale": ""
              },
              "camera_decision": {
                "camera_unit": 1,
                "camera_cell": [
                  7,
                  3
                ],
                "look_at_unit": 4,
                "look_at_cell": [
                  9,
                  2
                ],
                "lens_enum": "wide",
                "fov_deg": 90,
                "framing_notes": "Use broad coverage from the sole listed camera cell for unit 1 toward the verbatim listed look-at cell, organizing the frame around unit 4 while retaining contextual visibility of the other targeted units and marker 5."
              },
              "render_guidance": {
                "visible_space_directive": "From camera unit 1, include unit 1 as the camera-bearing space and use the wide view toward unit 4 to retain geometry-supported contextual coverage of units 2 and 3 where visible. Represent base markers 1, 2, 3, and 4 as the committed structural set and marker 5 as the committed fixed fixture. No numbered opening is supplied, so do not imply a geometry-confirmed opening.",
                "camera_framing_directive": "Frame from camera unit 1 at cell [7,3] toward look-at unit 4 at cell [9,2] with a wide 90-degree field of view. Use broad coverage that keeps the corner-related target area prominent while leaving sufficient contextual structure for the staged medium view and the tighter off-center view.",
                "subject_position_directive": "Keep the clean plate free of baked-in subjects while reserving the shot-staged placement zones: one consuming shot requires a seated subject across the right two-thirds with receding structure along the left edge, and the other requires a braced subject across the left two-thirds with a narrow empty strip toward unit 4 on the right. These are shot-layer placement cues and must not become permanent background elements.",
                "state_cue_directive": "No dossier-committed state cue beyond a clean residential space applies because no transient marker number is listed. Preserve marker 5 as a fixed numbered element; any intermittent emphasis described by the consuming-shot staging belongs to the shot-specific layer rather than a permanent alteration of the clean plate. Refrain from inventing additional state cues.",
                "negative_continuity_directive": "Do not invent numbered openings, overlay markers, subjects, or scenario-specific objects in the clean plate. Do not depict spaces outside the geometry-supported wide view from unit 1, and do not relocate structural markers 1, 2, 3, or 4 or fixed marker 5 from the floor-plan identity."
              },
              "render_action": "render_new_plate",
              "reuse_target_bg_id": "",
              "anchor_shot_id": "",
              "projection_card_id": "",
              "projection_card_hash": "",
              "projection_card_state": "not_applicable",
              "projection_card_fallback_reason": "no_projection_card_target",
              "projection_card_source_bg_id": "L07B01",
              "projection_card_inherited": false,
              "plate_group_id": "L07B01",
              "plate_anchor_bg_id": "L07B01",
              "needs_new_plate": true,
              "plate_anchor_shot_id": "",
              "plate_shareability": "exclusive",
              "render_order_index": 0,
              "ref_tree_parents": [],
              "ref_role_per_parent": {},
              "max_refs": 2,
              "render_action_source": "geometry_route",
              "partition_fallback_reason": "partition_plan_missing"
            }
          ]
        },
        "validators": {
          "required_shape_ok": true,
          "graph_completeness_ok": true,
          "node_index_order_ok": true,
          "dag_ok": true,
          "max_refs_per_bg_ok": true,
          "two_refs_distinct_spaces_ok": true,
          "same_fp_only_ok": true,
          "anchor_exactly_one_ok": true,
          "anchor_in_clean_candidate_set_ok": true,
          "camera_in_candidates_ok": true,
          "rationale_and_mode_ok": true,
          "synthetic_readback_production_clear": true,
          "all_validators_passed": true,
          "diagnostics": [],
          "render_action_routing_ok": true,
          "reuse_plate_count": 0,
          "card_withhold_count": 0,
          "projection_card_state_counts": {
            "not_applicable": 1
          },
          "plate_group_count": 1,
          "plate_shareability_counts": {
            "exclusive": 1
          },
          "dag_node_count": 1,
          "space_partition_applied": false,
          "space_partition_fallback_reason": "partition_plan_missing"
        },
        "real_api_call_counts": {
          "image": 0,
          "llm": 1,
          "vlm": 0
        },
        "readback_status": "ok",
        "production_clear": true,
        "diagnostics": []
      },
      "fp_l08_experiment_lab": {
        "fp_id": "fp_l08_experiment_lab",
        "shot_aware_bg_render_plan_status": "ok",
        "graph": {
          "nodes": [
            {
              "bg_id": "L08B01",
              "node_index": 0,
              "mode": "fp_seeded_anchor",
              "is_dwelling_identity_anchor": true,
              "rationale": "This is the sole clean-anchor candidate supplied for the fp and the only render-ready BG, so it establishes dwelling identity directly from the floor plan without a prior reference. The wide view from unit 7 toward unit 1 supports the consuming shot's committed diagonal coverage of markers 2 and 3, both staged subjects, and the surrounding fixed markers.",
              "reference_decision": {
                "selected_refs": [],
                "rejected_refs": [],
                "same_physical_space_dedup_decision": "not_applicable_anchor_no_references",
                "why_single_ref_or_two_refs": "No same-fp reference is available, and the anchor must be rendered directly from the floor plan.",
                "physical_space_id_per_ref": [],
                "same_physical_space_low_delta_candidate": false,
                "low_delta_reuse_target_bg_id": "",
                "low_delta_rationale": ""
              },
              "camera_decision": {
                "camera_unit": 7,
                "camera_cell": [
                  8,
                  1
                ],
                "look_at_unit": 1,
                "look_at_cell": [
                  5,
                  4
                ],
                "lens_enum": "wide",
                "fov_deg": 90,
                "framing_notes": "Use the listed unit-7 camera cell and aim toward the listed central marker cell within unit 1. The wide lens provides broad diagonal coverage for the full fixed assembly at markers 2 and 3, the two committed subjects, and surrounding markers."
              },
              "render_guidance": {
                "visible_space_directive": "From unit 7, show unit 1 as the visible target space with broad coverage around markers 2 and 3. Preserve the fixed positions of markers 2, 3, 4, and 6 and include the circulation relationship between units 7 and 1; opening marker 5 may be included only as allowed by the geometry's visible-opening candidate superset.",
                "camera_framing_directive": "Frame from camera unit 7 at cell [8,1] toward unit 1 at look-at cell [5,4] with a wide 90-degree field of view. Use broad, static diagonal coverage that keeps markers 2 and 3 centered in the composition, with their nearer end in the lower foreground and their receding extent toward the upper background while retaining surrounding fixed elements.",
                "subject_position_directive": "Place the two committed subjects associated with marker 9 side by side across the midground on marker 2: one in middle-left and one in middle-right, both following the fixed incline and secured relationship committed by the shot staging. Their nearer limb area should fall toward the lower foreground while their faces recede toward the upper background.",
                "state_cue_directive": "Carry transient marker 8 as thick diffusion across the visible space without obscuring the two subjects represented by marker 9. Show marker 6 in the active warning-light state committed by the shot, with controlled low illumination and the specified red-and-cool-gray diffusion. Retain all numbered elements 1 through 9 as required by the render facts.",
                "negative_continuity_directive": "Do not invent additional subjects, transient objects, fixed fixtures, openings, or state cues beyond markers 1 through 9 and the surfaced shot staging. Do not relocate fixed markers 2, 3, 4, or 6, and do not depict units or openings outside the chosen unit-7-to-unit-1 wide view; opening marker 5 remains subject to the geometry candidate superset rather than an invented line of sight."
              },
              "render_action": "render_new_plate",
              "reuse_target_bg_id": "",
              "anchor_shot_id": "",
              "projection_card_id": "",
              "projection_card_hash": "",
              "projection_card_state": "not_applicable",
              "projection_card_fallback_reason": "no_projection_card_target",
              "projection_card_source_bg_id": "L08B01",
              "projection_card_inherited": false,
              "plate_group_id": "L08B01",
              "plate_anchor_bg_id": "L08B01",
              "needs_new_plate": true,
              "plate_anchor_shot_id": "",
              "plate_shareability": "exclusive",
              "render_order_index": 0,
              "ref_tree_parents": [],
              "ref_role_per_parent": {},
              "max_refs": 2,
              "render_action_source": "geometry_route",
              "partition_fallback_reason": "partition_plan_missing"
            }
          ]
        },
        "validators": {
          "required_shape_ok": true,
          "graph_completeness_ok": true,
          "node_index_order_ok": true,
          "dag_ok": true,
          "max_refs_per_bg_ok": true,
          "two_refs_distinct_spaces_ok": true,
          "same_fp_only_ok": true,
          "anchor_exactly_one_ok": true,
          "anchor_in_clean_candidate_set_ok": true,
          "camera_in_candidates_ok": true,
          "rationale_and_mode_ok": true,
          "synthetic_readback_production_clear": true,
          "all_validators_passed": true,
          "diagnostics": [],
          "render_action_routing_ok": true,
          "reuse_plate_count": 0,
          "card_withhold_count": 0,
          "projection_card_state_counts": {
            "not_applicable": 1
          },
          "plate_group_count": 1,
          "plate_shareability_counts": {
            "exclusive": 1
          },
          "dag_node_count": 1,
          "space_partition_applied": false,
          "space_partition_fallback_reason": "partition_plan_missing"
        },
        "real_api_call_counts": {
          "image": 0,
          "llm": 1,
          "vlm": 0
        },
        "readback_status": "ok",
        "production_clear": true,
        "diagnostics": []
      },
      "fp_l10_bathroom": {
        "fp_id": "fp_l10_bathroom",
        "shot_aware_bg_render_plan_status": "ok",
        "graph": {
          "nodes": [
            {
              "bg_id": "L10B01",
              "node_index": 0,
              "mode": "fp_seeded_anchor",
              "is_dwelling_identity_anchor": true,
              "rationale": "L10B01 is the sole supplied anchor candidate and the only renderable BG. It is seeded directly from the floor plan with no prior reference. Camera unit 5 at [4,5] looks toward unit 1 at the candidate cell [1,4] with a normal lens, prioritizing fixed markers 3 and 4 for the contextual requirements of S10_Shot7 while retaining neutral coverage for the subject staging in S10_Shot4 and S10_Shot5.",
              "reference_decision": {
                "selected_refs": [],
                "rejected_refs": [],
                "same_physical_space_dedup_decision": "anchor_has_no_prior_references",
                "why_single_ref_or_two_refs": "No same-fp reference is available, so the dwelling-identity anchor must be rendered directly from the floor plan without a selected reference.",
                "physical_space_id_per_ref": [],
                "same_physical_space_low_delta_candidate": false,
                "low_delta_reuse_target_bg_id": "",
                "low_delta_rationale": ""
              },
              "camera_decision": {
                "camera_unit": 5,
                "camera_cell": [
                  4,
                  5
                ],
                "look_at_unit": 1,
                "look_at_cell": [
                  1,
                  4
                ],
                "lens_enum": "normal",
                "fov_deg": 50,
                "framing_notes": "Use neutral 50-degree coverage from unit 5 toward unit 1 and the fixed-element target at [1,4]. Preserve enough surrounding scale for marker 4 while allowing the consuming shots to apply close or medium shot-specific crops."
              },
              "render_guidance": {
                "visible_space_directive": "Show the portion of unit 1 reached from camera unit 5, with fixed markers 3 and 4 in their committed north-side positions. Keep unit 5 as the camera-bearing clearance area. Opening marker 2 and unit 6 may appear only if they fall within the normal 50-degree view toward [1,4]; do not force them into the frame.",
                "camera_framing_directive": "Frame from camera unit 5 at [4,5], looking toward unit 1 at [1,4], with a normal 50-degree lens for neutral coverage. Hold marker 4 as the principal contextual fixed element and retain its spatial relationship to marker 3; consuming shots may crop this plate more tightly without changing the committed camera-cell relationship.",
                "subject_position_directive": "For S10_Shot4, the committed subject target C01 occupies the foreground middle-center in a close three-quarter presentation. For S10_Shot5, C04 is committed at middle-right in the foreground and C01 at middle-left in the midground. S10_Shot7 commits no subject; keep that shot free of invented subjects and reserve its centered close focal region for transient marker 7 with marker 4 providing scale and context.",
                "state_cue_directive": "Carry transient marker 7 as the committed shot-dependent state cue and retain numbered elements 1, 2, 3, 4, 5, and 6 according to their structural roles. For S10_Shot7, marker 7 is active and centered within the close composition, with its specified illuminated content providing the only specifically motivated glow. Do not infer additional state cues beyond the surfaced staging.",
                "negative_continuity_directive": "Do not relocate fixed markers 3 or 4, alter opening marker 2, or redraw unit markers 1, 5, and 6 with inconsistent relationships. Do not introduce unlisted subjects, unnumbered scenario elements, or additional transient overlays. Exclude any space outside the normal 50-degree view from camera unit 5 toward [1,4], and do not force unit 6 or opening marker 2 into view when the cone does not contain them."
              },
              "render_action": "render_new_plate",
              "reuse_target_bg_id": "",
              "anchor_shot_id": "",
              "projection_card_id": "",
              "projection_card_hash": "",
              "projection_card_state": "not_applicable",
              "projection_card_fallback_reason": "no_projection_card_target",
              "projection_card_source_bg_id": "L10B01",
              "projection_card_inherited": false,
              "plate_group_id": "L10B01",
              "plate_anchor_bg_id": "L10B01",
              "needs_new_plate": true,
              "plate_anchor_shot_id": "",
              "plate_shareability": "exclusive",
              "render_order_index": 0,
              "ref_tree_parents": [],
              "ref_role_per_parent": {},
              "max_refs": 2,
              "render_action_source": "geometry_route",
              "partition_fallback_reason": "partition_plan_missing"
            }
          ]
        },
        "validators": {
          "required_shape_ok": true,
          "graph_completeness_ok": true,
          "node_index_order_ok": true,
          "dag_ok": true,
          "max_refs_per_bg_ok": true,
          "two_refs_distinct_spaces_ok": true,
          "same_fp_only_ok": true,
          "anchor_exactly_one_ok": true,
          "anchor_in_clean_candidate_set_ok": true,
          "camera_in_candidates_ok": true,
          "rationale_and_mode_ok": true,
          "synthetic_readback_production_clear": true,
          "all_validators_passed": true,
          "diagnostics": [],
          "render_action_routing_ok": true,
          "reuse_plate_count": 0,
          "card_withhold_count": 0,
          "projection_card_state_counts": {
            "not_applicable": 1
          },
          "plate_group_count": 1,
          "plate_shareability_counts": {
            "exclusive": 1
          },
          "dag_node_count": 1,
          "space_partition_applied": false,
          "space_partition_fallback_reason": "partition_plan_missing"
        },
        "real_api_call_counts": {
          "image": 0,
          "llm": 1,
          "vlm": 0
        },
        "readback_status": "ok",
        "production_clear": true,
        "diagnostics": []
      }
    },
    "real_api_call_counts": {
      "image": 0,
      "llm": 6,
      "vlm": 0
    },
    "llm_provider_attempts_per_fp": {
      "fp_l01_classroom": 1,
      "fp_l02_concrete_stairs": 1,
      "fp_l06_bench_frontage": 1,
      "fp_l07_metal_corridor": 1,
      "fp_l08_experiment_lab": 1,
      "fp_l10_bathroom": 1
    },
    "shot_staging_index_diagnostics": {
      "shot_staging_index_explicit_id": 0,
      "shot_staging_index_synthesized_id": 25,
      "shot_staging_index_dropped_no_id": [],
      "shot_staging_index_dropped_bad_index_type": [],
      "shot_staging_index_collisions": []
    }
  },
  "step_id": "shot_aware_bg_render_plan",
  "run_id": "be231270-1f48-4739-9287-17fb7dc73734",
  "resolved_model": "gpt",
  "updated_at": "2026-08-24T08:43:40.114549+00:00",
  "project_config_snapshot": {}
}