## Shot framing target
bg_id: {bg_id}
shot_id: {shot_id}
fp_id: {fp_id}

The rendered top-down floor-plan PNG for this `fp_id` is attached as an image reference. Numbered circle markers on it correspond to the marker inventory below.

## Marker inventory (COMPLETE registry — overlay payload union)
This is the full set of markers referenced by the layout: base ∪ transient ∪ ignored_state_overlay. Each entry carries its `number`, `expected_label`, and `marker_layer`. **Echo `expected_label` and `marker_layer` verbatim** — do not re-derive or re-classify. Every marker a camera recommendation references is present here, so none of them is a missing input.
{marker_inventory_block}

## Marker registry (diagnostic — code-computed, echo only)
base_numbers: {base_numbers}
transient_numbers: {transient_numbers}
ignored_numbers: {ignored_numbers}
union_numbers: {union_numbers}
camera_referenced_numbers: {camera_referenced_numbers}
out_of_union_referenced: {out_of_union_referenced}

## Camera recommendation (from floor_plan_prompt — the pose to imagine)
Use this pose as `camera_pose_source`; imagine standing the camera here and looking in the stated direction. Convert any numbered references into the corresponding inventory labels when writing prose; never surface the raw numbers.
{camera_recommendation_block}

## Shot intent (what this shot is about)
{shot_intent_block}

## Scene context
{scene_block}

## Background meta
{bg_meta_block}

---
Emit the shot_projection_card per the response schema. `status` = `ok`. `fp_id` / `bg_id` / `shot_id` MUST equal the target above. `camera_pose_source` MUST reference the supplied camera recommendation. Produce both Korean prose descriptions (full `scene_visible_description` and base-only `bg_plate_visible_description`) plus the `plate_description_excludes_transient` self-report. No coordinates, no grid, no internal tokens in any prose field.
