# S09 shot-prompts.yaml — 咖啡慢旅 8 鏡導演級 prompt（鎖定版）
#
# Project: coffee-slow-journey-tiktok-001
# Stage: S09_PROMPT_LOCK
# Generated: 2026-08-03
# Executor: M5
#
# Source of truth:
#   - Image2_咖啡慢旅_腳本/storyboard.yaml (8 鏡分鏡)
#   - Image2_咖啡慢旅_腳本/director-script.yaml (canonical script)
#   - Image2_咖啡慢旅_角色總版/IDENTITY_BLOCKS.yaml (CH01/CH02 verbatim)
#   - Image2_咖啡慢旅_場景總版/scene_anchors.yaml (LOC01/LOC02 anchors)
#   - Image2_咖啡慢旅_S08鑰匙幀/assets/keyframe-SH00*.png (8 鏡鑰匙幀 reference)
#
# 規則 (acceptance-gates.md G09_PROMPT_LOCK):
#   1. 每鏡一份 prompt，只改當鏡 action/framing/angle/lens/camera_move/構圖/合法 scene_state
#   2. 不得改寫角色臉/髮型/體型/固定服裝/隨身道具/場景固定布局/天氣/光向
#   3. 每鏡引用當鏡適用的角色總版 + 道具總版 + 場景總版 + S08 鑰匙幀
#   4. reference_image_urls 合計 ≤ 16 張 / 鏡
#   5. 中英雙語，vertical safe area: head_room_max_pct=15, eye_line_min_pct=30, hand_room_min_pct=25
#
# 影像 SOP: 本檔 prompt 為 S10 image_generate 的唯一輸入；S10 直送 OpenAI Codex
# gpt-image-2-high portrait 9:16，每鏡 reference_image_urls 含 S08 鑰匙幀（最高優先）
# + character master + scene master + 適用 prop master。

# ============================================
# Global invariants — 所有鏡共用（不得重寫）
# ============================================

globals:
  aspect_ratio: portrait
  provider: openai-codex
  model: gpt-image-2-high
  quality: high
  vertical_safe_area:
    head_room_max_pct: 15
    eye_line_min_pct: 30
    hand_room_min_pct: 25
  global_forbidden:
    - "no readable store name, no menu, no price tag, no signage, no brand marks, no logo"
    - "no readable text, no readable smartphone screen, no readable watch face, no readable apron text"
    - "no extra people, no two left hands, no anatomically wrong fingers"
    - "no plastic skin, no AI-artifact watermark, no overexposed lens distortion"
    - "no duplicated limbs, no banner, no poster"

  ch01_identity_verbatim: |
    Same adult Taiwanese/East-Asian woman, early 30s, oval face with soft chin and gently defined jawline,
    dark brown eyes, natural medium-length shoulder-grazing dark brown hair with softly curved wave ends,
    no ponytail, natural warm medium skin tone, wearing a lightweight beige water-resistant jacket with minimal
    hooded silhouette over a dark straight-leg trousers and dark comfortable walking shoes,
    narrow dark-strap watch on left wrist with blank unreadable face,
    plain cream off-white canvas travel tote slung over the left shoulder,
    matte black smartphone always turned away or blank,
    mature cinematic photorealistic reference photography.
  ch01_invariants_5words: [same face, same skin, same hair, same eye, same jacket]
  ch01_forbidden_verbatim: |
    no different identity, no different face, no different age, no different gender,
    no ponytail, no bangs covering eyes, no different hair color or length,
    no recolored jacket, no recolored trousers, no recolored shoes,
    no readable watch face, no readable smartphone screen, no logo, no readable text,
    no extra people, no unrelated props, no two left hands, no anatomically wrong fingers,
    no plastic skin, no AI-artifact watermark, no overexposed lens distortion, no duplicated limbs.

  ch02_identity_verbatim: |
    A working barista seen only from behind and via hands and apron.
    Dark apron across the torso; both hands wearing visible plain slim ring-free fingers.
    The hands hold or place plain ceramic dripper, gooseneck kettle, or manual grinder.
    Never reveal face, hair, gender, age, jewelry, brand marks, or readable text on apron.
    Mature cinematic photorealistic reference photography.
  ch02_invariants_3words: [same apron, same hands, no face shown]
  ch02_forbidden_verbatim: |
    no visible face, no visible hair, no visible jewelry, no rings,
    no readable apron text, no brand marks, no logo, no two left hands,
    no anatomically wrong fingers, no plastic skin, no AI watermark,
    no overexposed lens distortion, no readable ceramic mug marks, no menu text, no signage.

  loc01_anchors:
    - "單節木造客車車廂，雙人對座 + 中央通道（60/40）"
    - "雙層玻璃 + 可上推鋁框，車窗雨點由右上至整窗"
    - "窗外永遠是山線層疊山脊（被霧遮 30–70%，至少 3 層深淺）"
    - "室內單一暖琥珀天花板日光燈"
  loc01_prohibited:
    - "高鐵/捷運/公車內景"
    - "城市天際線/海岸/平原"
    - "任何真人或乘客"

  loc02_anchors:
    - "木質吧台長邊貼大窗，吧台/入口/窗邊三點形成三角軸線"
    - "入口在畫面後側，門鈴在門正上方"
    - "窗邊座位永遠面向山谷，背對入口"
    - "室內暖琥珀吊燈混合窗外冷藍綠霧光"
  loc02_prohibited:
    - "城市天際線、電線杆、路牌"
    - "開放式廚房、espresso 機、玻璃隔板後的手沖台"
    - "其他客人、無關店員、孩童或長者 cameo"
    - "可讀店名、菜單、商標、價格、品牌字"

# ============================================
# 8 鏡 shot_prompts
# ============================================

shots:

  # ────────────────────────────── SH001 ──────────────────────────────
  - id: SH001
    ordinal: 1
    scene_id: SC01
    location_id: LOC01
    duration_s: 3
    action: "山線列車沿山路前進，濕潤山景從車窗外掠過"
    framing: "9:16 establishing wide from rear of cabin looking forward through driver cab glass"
    camera_move: track
    camera_lens: "24mm wide"

    prompt_zh: |
      9:16 縱向構圖，24mm 廣角，鏡頭從單節木造客車車廂後段向前望，穿越中央走道看進駕駛艙，
      透過雙層擋風玻璃看見山線午後冷藍綠中霧。構圖三層：前景右側對座長椅的木質椅背與車窗框邊，
      中景中央走道與車廂尾端天花板日光燈，遠景駕駛艙擋風玻璃外層疊山脊，
      山脊被霧遮去 30–70%，至少三層深淺。車廂內只有一盞暖琥珀天花板日光燈作主光源，
      光暈落在椅背與走道；窗外冷藍綠霧光，色溫明顯較低。雙層玻璃窗上有雨點，由右上逐漸擴散，
      疏至密，霧氣在玻璃外側凝結微流。整體沉靜、無人，無高鐵、捷運或公車內景，
      無城市天際線，無海岸，無任何文字、招牌、品牌或可讀菜單。
      鏡頭感是 track，沿前進方向穩定前推，車廂輕微晃動但構圖保持垂直線，無 tilt。
    prompt_en: |
      9:16 vertical composition, 24mm wide-angle, camera positioned at the rear of a single-car
      wooden passenger cabin, looking forward down the central aisle through the driver cab
      and out the laminated windshield at the misty Taiwan mountain-line ridges in the cool
      teal-green afternoon haze. Three depth layers: foreground — wooden bench seatbacks and
      the inner window frame on the right; midground — the aisle and the cabin's single warm
      amber ceiling bulb; background — the layered mountain ridges beyond the windshield,
      veiled 30–70% by mist with at least three tonal depth bands. The only interior light
      source is the warm amber ceiling bulb; the exterior is uniformly cool teal-green and
      clearly lower in color temperature. Raindrops on the laminated glass start in the
      upper-right and spread across the pane, sparse at first, then denser, with condensation
      streaming faintly on the outer surface. The cabin is empty, no high-speed-rail, MRT, or
      bus interior, no city skyline, no coast, no readable text, no signage, no brand marks,
      no menu. The track camera glides forward along the vehicle's axis with a faint carriage
      sway but the verticals stay locked; no tilt. Cinematic, atmospheric, slow, contemplative.
    reference_image_urls:
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_S08鑰匙幀/assets/keyframe-SH001.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_場景總版/assets/scene-master-board-LOC01-reverse-wide.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_場景總版/assets/scene-master-board-LOC01-establishing.png"
    reference_count: 3
    character_scope: []
    prop_scope: []
    continuity_asserts:
      - "山線小火車單節木造車廂"
      - "雙層玻璃雨點由右上至整窗"
      - "窗外層疊山脊冷藍綠霧"
      - "室內暖琥珀天花板日光燈單一光源"
    forbidden_additions:
      - "高鐵/捷運/公車內景，城市或海岸風景"
      - "任何真人或乘客"
      - "文字、品牌、招牌、可讀菜單"
    vertical_safe_area_check:
      - "頭頂留白 ≤ 15%（前景椅背+走道即可，無人物）"
      - "此鏡無人物眼線要求"
      - "此鏡無手部動作要求"

  # ────────────────────────────── SH002 ──────────────────────────────
  - id: SH002
    ordinal: 2
    scene_id: SC01
    location_id: LOC01
    duration_s: 4
    action: "CH01 的手握著手機，拇指短暫查看後收緊，窗上雨點逐漸變密"
    framing: "9:16 close-up vertical, hands-on-phone mid-frame"
    camera_move: handheld
    camera_lens: "35mm close-up on hands + wrist + tote edge"

    prompt_zh: |
      9:16 縱向構圖，35mm 電影鏡頭，極淺景深，焦點落在畫面中央 CH01 的雙手與啞光黑手機上。
      CH01：台灣 30 歲女性、橢圓臉柔下巴、深褐眼、肩長深褐微捲髮無馬尾無瀏海、
      自然暖中膚色、米色防風薄外套袖口可見、左肩米色帆布袋背帶於畫面邊緣、
      左手腕深色錶帶錶面空白不可讀。手機螢幕正面朝大腿或背向鏡頭，完全不可讀、
      無文字、無 app、無圖標、無數字。背景是單節木造山線小火車車廂內部，
      右側車窗外冷藍綠霧雨，雨點由窗右上逐漸擴散至整窗，窗外層疊山脊被霧遮 30–70%；
      車廂暖琥珀天花板日光燈為唯一主光源，光暈落在手背與手機表面。
      手部構圖約佔畫面下半部 40%，外套袖口自然垂落。
      鏡頭是 handheld，輕微呼吸感但構圖保持垂直線。
    prompt_en: |
      9:16 vertical close-up, 35mm cinematic lens, very shallow depth of field, focus on hands
      holding a matte black smartphone in mid-frame. Same adult Taiwanese/East-Asian woman,
      early 30s, oval face with soft chin, dark brown eyes, shoulder-grazing dark brown hair
      with softly curved wave ends no ponytail no bangs, natural warm medium skin tone,
      wearing a lightweight beige water-resistant jacket with minimal hooded silhouette visible
      at sleeve cuff, narrow dark-strap watch on left wrist with blank unreadable face,
      plain cream off-white canvas travel tote strap visible at frame edge over left shoulder,
      smartphone screen facing the holder blank and unreadable no text no app no icons.
      Inside a single-car wooden mountain train cabin, cool teal-green misty rain visible
      through the right window with raindrops starting in upper right and spreading, warm
      amber ceiling bulb as single interior light source. Contemplative quiet moment,
      mature cinematic photorealistic reference photography, same face, same skin, same hair,
      same eye, same jacket. Handheld camera with faint breathing motion, verticals locked.
    reference_image_urls:
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_S08鑰匙幀/assets/keyframe-SH002.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_角色總版/character-master-CH01.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_場景總版/assets/scene-master-board-LOC01-right-three-quarter.png"
    reference_count: 3
    character_scope: [CH01]
    prop_scope: [PROP-PHONE-CH01, PROP-TOTE-CH01, PROP-WATCH-CH01]
    continuity_asserts:
      - "左手腕深色錶帶"
      - "手機螢幕不可讀"
      - "米色外套袖口"
      - "雨霧加深"
    forbidden_additions:
      - "任何可讀手機內容"
      - "兩隻左手"
      - "額外乘客或路人"
      - "文字/品牌/招牌"
    vertical_safe_area_check:
      - "頭頂留白 ≤ 15%（臉部若有入鏡保留給袖口/手機上方小空間）"
      - "眼線 ≥ 30% from top（若臉部邊緣入鏡則遵守）"
      - "底部手部區 ≥ 25% from bottom"

  # ────────────────────────────── SH003 ──────────────────────────────
  - id: SH003
    ordinal: 3
    scene_id: SC01
    location_id: LOC01_LOC02_bridge
    duration_s: 3
    action: "CH01 提著帆布旅行袋走過濕滑山路，停在咖啡館入口前"
    framing: "9:16 full-body, side dolly from rear 3/4 walking toward door"
    camera_move: dolly
    camera_lens: "35mm full-body track"

    prompt_zh: |
      9:16 縱向構圖，35mm 電影鏡頭，側後 dolly 跟拍，CH01 全身入鏡。
      CH01：台灣 30 歲女性、橢圓臉柔下巴、深褐眼、肩長深褐微捲髮無馬尾無瀏海、
      自然暖中膚色、米色防風薄外套（肩部有霧雨水痕）、深色直筒長褲、深色步行鞋、
      左手腕深色錶帶、左肩米色帆布袋。CH01 走在濕滑山路上（濕地反光可見），
      然後停在小型咖啡館木門前，門上有黃銅門把、上方銅鈴。
      午後冷藍綠霧雨，層疊山脊被霧遮，門口微暖琥珀光從門縫溢出。
      鏡頭從側後 3/4 角度，穩定跟隨步伐，垂直線保持。
    prompt_en: |
      9:16 vertical full-body framing, 35mm cinematic lens, side dolly from rear three-quarter,
      same adult Taiwanese/East-Asian woman, early 30s, oval face with soft chin, dark brown
      eyes, shoulder-grazing dark brown hair with softly curved wave ends no ponytail no bangs,
      natural warm medium skin tone, wearing a lightweight beige water-resistant jacket with
      faint rain-mist on shoulders, dark straight-leg trousers and dark comfortable walking
      shoes, narrow dark-strap watch on left wrist, plain cream off-white canvas travel tote
      slung over the left shoulder, walking along a wet mountain road and pausing in front of
      the wooden door of a small mountain coffee bar with brass door handle and small bell
      above, exterior in cool teal-green misty mountain afternoon with rain-wet stone path
      reflections and layered misty mountain ridges in the background, warm amber light
      spilling faintly from the cafe door, mature cinematic photorealistic reference
      photography, same face, same skin, same hair, same eye, same jacket.
    reference_image_urls:
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_S08鑰匙幀/assets/keyframe-SH003.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_角色總版/character-master-CH01.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_場景總版/assets/scene-master-board-LOC02-establishing.png"
    reference_count: 3
    character_scope: [CH01]
    prop_scope: [PROP-TOTE-CH01]
    continuity_asserts:
      - "帆布旅行袋在左肩"
      - "米色外套肩部霧雨水痕"
      - "濕地反光"
      - "霧雨午後"
    forbidden_additions:
      - "自動門/玻璃門/現代店面"
      - "額外路人"
      - "文字/招牌/菜單"
    vertical_safe_area_check:
      - "頭頂留白 ≤ 15%"
      - "眼線 ≥ 30% from top"
      - "底部手部/鞋區 ≥ 25% from bottom"

  # ────────────────────────────── SH004 ──────────────────────────────
  - id: SH004
    ordinal: 4
    scene_id: SC02
    location_id: LOC02
    duration_s: 3
    action: "CH01 推門入店，CH02 在暖色吧台後準備濾杯與細口壺"
    framing: "9:16 dolly following CH01 through doorway into bar; CH02 hands visible behind counter"
    camera_move: static_then_dolly
    camera_lens: "28mm medium"

    prompt_zh: |
      9:16 縱向構圖，28mm 電影鏡頭，dolly 跟隨 CH01 推開木門（黃銅門把、上方銅鈴）進入
      山中小型咖啡館。CH01：台灣 30 歲女性、橢圓臉柔下巴、深褐眼、肩長深褐微捲髮無馬尾無瀏海、
      自然暖中膚色、米色防風薄外套（肩部有霧雨水痕）、左肩米色帆布袋。門鈴剛響過。
      中景：木質吧台長邊貼大窗，吧台後方 CH02 只見手背 + 深色無 logo 圍裙 + 素手無戒指，
      正在吧台放置陶製濾杯、旁有細口壺；CH02 絕無露臉、無髮、無首飾、無圍裙文字。
      窗外冷藍綠厚霧山，室內暖琥珀吊燈混合冷日光；木吧台、入口、窗邊三點形成三角軸線，
      鏡頭不可破軸。
    prompt_en: |
      9:16 vertical medium framing, 28mm cinematic lens, dolly following the woman pushing
      open a wooden door with brass handle and stepping into a small mountain coffee bar,
      the door bell above the door ringing faintly. Same adult Taiwanese/East-Asian woman,
      early 30s, oval face with soft chin, dark brown eyes, shoulder-grazing dark brown hair
      with softly curved wave ends no ponytail no bangs, natural warm medium skin tone, wearing
      a lightweight beige water-resistant jacket with faint rain-mist on shoulders, plain
      cream off-white canvas travel tote over left shoulder. In the midground behind the wooden
      bar counter a working barista seen only from behind and via hands and dark plain apron
      with no readable marks and no brand marks, hands placing a plain ceramic dripper on the
      bar counter beside a gooseneck kettle. The wooden bar counter runs along a large framed
      window showing cool teal-green misty mountain ridges outside, interior lit by warm amber
      tungsten bulbs mixing with cool daylight through the tall window, mature cinematic
      photorealistic reference photography, same face, same skin, same hair, same eye, same
      jacket, same apron, same hands, no face shown on the barista.
    reference_image_urls:
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_S08鑰匙幀/assets/keyframe-SH004.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_角色總版/character-master-CH01.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_場景總版/assets/scene-master-board-LOC02-establishing.png"
    reference_count: 3
    character_scope: [CH01, CH02]
    prop_scope: [PROP-TOTE-CH01, PROP-DRIPPER-LOC02, PROP-KETTLE-LOC02]
    continuity_asserts:
      - "CH01 左肩帆布袋"
      - "CH01 外套肩部霧雨水痕"
      - "CH02 深色圍裙無 logo"
      - "木質吧台沿大窗"
    forbidden_additions:
      - "CH02 任何臉部/髮/首飾/圍裙文字"
      - "額外客人、店員、孩童、長者"
      - "招牌、菜單、價格、品牌字"
    vertical_safe_area_check:
      - "頭頂留白 ≤ 15%"
      - "眼線 ≥ 30% from top"
      - "底部手部/吧台區 ≥ 25% from bottom"

  # ────────────────────────────── SH005 ──────────────────────────────
  - id: SH005
    ordinal: 5
    scene_id: SC02
    location_id: LOC02
    duration_s: 5
    action: "CH01 看一眼手機後把手機收入口袋，抬眼看向正在注水的 CH02"
    framing: "9:16 two-shot; CH01 in foreground putting phone away, CH02 hands at bar pouring"
    camera_move: dolly
    camera_lens: "50mm medium"

    prompt_zh: |
      9:16 縱向構圖，50mm 電影鏡頭，雙人 two-shot，前景 CH01 正將啞光黑手機收入外套口袋，
      抬眼望向吧台方向。中景：吧台後方 CH02 只見雙手 + 深色無 logo 圍裙 + 素手無戒指，
      右手持細口壺注水入陶製濾杯，左手穩住濾杯架；CH02 絕無露臉、無髮、無首飾、無圍裙文字。
      CH01：台灣 30 歲女性、橢圓臉柔下巴、深褐眼、肩長深褐微捲髮無馬尾無瀏海、
      自然暖中膚色、米色防風薄外套、左肩米色帆布袋。
      木質吧台沿大窗，窗外冷藍綠霧山，室內暖琥珀吊燈。
      手機螢幕始終不可讀、無數字、無 app。
      鏡頭是 dolly 穩定跟隨 CH01 視線方向，垂直線保持。
    prompt_en: |
      9:16 vertical medium framing, 50mm cinematic lens, two-shot composition, shallow depth
      of field. Same adult Taiwanese/East-Asian woman, early 30s, oval face with soft chin, dark
      brown eyes, shoulder-grazing dark brown hair with softly curved wave ends no ponytail no
      bangs, natural warm medium skin tone, wearing a lightweight beige water-resistant jacket
      with minimal hooded silhouette, plain cream off-white canvas travel tote over left
      shoulder, in the foreground putting a matte black smartphone into her jacket pocket,
      looking up at the barista working behind the wooden bar counter in the midground. The
      barista is a working barista seen only from behind and via hands and apron wearing a
      dark plain apron with no readable marks and no brand marks, holding a gooseneck kettle
      pouring water over a plain ceramic dripper on the bar counter. The wooden bar counter
      is along the large framed window showing cool teal-green misty mountain ridges, interior
      lit by warm amber tungsten bulbs mixing with cool daylight through the tall window,
      mature cinematic photorealistic reference photography, same face, same skin, same hair,
      same eye, same jacket, same apron, same hands, no face shown on the barista. Dolly
      camera follows CH01's eye line, verticals locked.
    reference_image_urls:
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_S08鑰匙幀/assets/keyframe-SH005.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_角色總版/character-master-CH01.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_場景總版/assets/scene-master-board-LOC02-left-three-quarter.png"
    reference_count: 3
    character_scope: [CH01, CH02]
    prop_scope: [PROP-PHONE-CH01, PROP-TOTE-CH01, PROP-DRIPPER-LOC02, PROP-KETTLE-LOC02]
    continuity_asserts:
      - "手機不顯示可讀數字"
      - "手機進入外套口袋（自此鏡起不再出現）"
      - "帆布袋仍在左肩"
      - "暖琥珀與冷霧對比"
    forbidden_additions:
      - "CH02 任何臉部/髮/首飾/圍裙文字"
      - "兩隻左手"
      - "額外客人"
      - "招牌、菜單"
    vertical_safe_area_check:
      - "頭頂留白 ≤ 15%"
      - "眼線 ≥ 30% from top"
      - "底部手部/口袋動作區 ≥ 25% from bottom"

  # ────────────────────────────── SH006 ──────────────────────────────
  - id: SH006
    ordinal: 6
    scene_id: SC03
    location_id: LOC02
    duration_s: 4
    action: "最後一滴咖啡落入濾杯，熱氣在暖光中升起"
    framing: "9:16 macro on dripper; CH02 hands visible at frame edges, no face"
    camera_move: static
    camera_lens: "85mm macro"

    prompt_zh: |
      9:16 縱向 macro 特寫，85mm 電影微距鏡頭，極淺景深，畫面充滿陶製濾杯與下方陶杯，
      最後一滴咖啡從濾杯緩緩落入杯中，咖啡液面由少至滿上升。熱氣在暖光中輕柔升起。
      細口壺在背景 soft focus。CH02 雙手在畫面邊緣可見（左握濾杯、右握銅壺），
      深色無 logo 圍裙、素手無戒指、絕無臉無髮。
      室內暖琥珀光透過霧窗透入，窗外冷藍綠霧山在背景外圍。
      無文字、招牌、菜單、價格、品牌、可讀馬克標誌。
    prompt_en: |
      9:16 vertical macro close-up, 85mm cinematic macro lens, very shallow depth of field,
      frame is filled with a plain ceramic dripper sitting on top of a plain ceramic cup on a
      wooden bar counter, a slow final drop of coffee falling from the dripper into the cup
      with the coffee surface rising, steam rising gently in the warm light. A working
      barista's hands visible only at frame edges wearing a dark plain apron with no readable
      marks and no brand marks, ring-free plain slim fingers holding the plain ceramic dripper
      or hovering near it. The wooden bar counter has a gooseneck kettle in the soft
      background, the bar counter is along a large framed window with cool teal-green misty
      mountain ridges outside, interior lit by warm amber tungsten bulbs mixing with cool
      daylight through the window. Mature cinematic photorealistic reference photography,
      same apron, same hands, no face shown. No readable text, no readable apron text, no
      readable ceramic marks, no menu, no signage, no brand marks, no logo, no visible
      barista face, no visible barista hair, no jewelry, no rings, no two left hands, no
      anatomically wrong fingers, no plastic skin, no AI watermark, no overexposed lens
      distortion.
    reference_image_urls:
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_S08鑰匙幀/assets/keyframe-SH006.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_場景總版/assets/scene-master-board-LOC02-right-three-quarter.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_場景總版/assets/scene-master-board-LOC02-left-three-quarter.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_道具總版/prop-master-board-S06.png"
    reference_count: 4
    character_scope: [CH02]
    prop_scope: [PROP-DRIPPER-LOC02, PROP-KETTLE-LOC02, PROP-CUP-LOC02]
    continuity_asserts:
      - "同一陶製濾杯"
      - "同一細口壺"
      - "咖啡液面由少至滿"
      - "暖琥珀光"
    forbidden_additions:
      - "CH02 任何臉部/髮/首飾/圍裙文字"
      - "兩隻左手 / 解剖錯誤手指"
      - "招牌、菜單、價格、品牌字"
      - "文字、商標、可讀標記"
    vertical_safe_area_check:
      - "頭頂留白 ≤ 15%"
      - "此鏡無人物眼線要求"
      - "底部杯/濾杯 ≥ 25% from bottom"

  # ────────────────────────────── SH007 ──────────────────────────────
  - id: SH007
    ordinal: 7
    scene_id: SC03
    location_id: LOC02
    duration_s: 4
    action: "CH02 將杯子放到窗邊桌面，CH01 雙手捧杯並轉向霧山"
    framing: "9:16 low-angle track as cup travels from counter to the 2-seat window table"
    camera_move: track
    camera_lens: "35mm tracking cup bar→window"

    prompt_zh: |
      9:16 縱向低角度 track，35mm 電影鏡頭，跟隨陶杯從木質吧台移到窗邊雙座木桌。
      CH01：台灣 30 歲女性、橢圓臉柔下巴、深褐眼、肩長深褐微捲髮無馬尾無瀏海、
      自然暖中膚色、米色防風薄外套、左肩米色帆布袋，坐在窗邊桌前伸雙手接杯。
      CH02 只見手背 + 深色無 logo 圍裙 + 素手無戒指在畫面邊緣將杯置於桌上，
      絕無露臉、無髮、無首飾、無圍裙文字。
      大面木框窗佔畫面上半，冷藍綠霧山層疊，霧氣逐漸加深；室內暖琥珀吊燈。
      鏡頭低角度沿杯子軌跡穩定移動，垂直線保持。
    prompt_en: |
      9:16 vertical low-angle tracking framing, 35mm cinematic lens, low camera angle
      following a plain ceramic cup as it travels from the wooden bar counter across the room
      to the wooden window-side two-seat table. Same adult Taiwanese/East-Asian woman, early
      30s, oval face with soft chin, dark brown eyes, shoulder-grazing dark brown hair with
      softly curved wave ends no ponytail no bangs, natural warm medium skin tone, wearing a
      lightweight beige water-resistant jacket with minimal hooded silhouette, plain cream
      off-white canvas travel tote over left shoulder, sitting at the window-side wooden
      table reaching forward with both hands to receive the plain ceramic cup, her face
      turned slightly toward the misty window. The working barista's hands visible only at
      frame edges placing the cup onto the table wearing a dark plain apron with no readable
      marks and no brand marks, ring-free plain fingers. The large framed window fills the
      upper portion of the frame with cool teal-green misty mountain ridges and gradually
      thickening fog, interior lit by warm amber tungsten bulbs mixing with cool daylight
      through the tall window, mature cinematic photorealistic reference photography, same
      face, same skin, same hair, same eye, same jacket, same apron, same hands, no face
      shown on the barista. Low-angle track camera follows the cup trajectory, verticals
      locked.
    reference_image_urls:
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_S08鑰匙幀/assets/keyframe-SH007.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_角色總版/character-master-CH01.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_場景總版/assets/scene-master-board-LOC02-right-three-quarter.png"
    reference_count: 3
    character_scope: [CH01, CH02]
    prop_scope: [PROP-CUP-LOC02]
    continuity_asserts:
      - "CH01 同一外套與髮型"
      - "杯子由吧台移至窗邊"
      - "CH01 坐在窗邊"
      - "窗外霧氣持續"
    forbidden_additions:
      - "CH02 任何臉部/髮/首飾/圍裙文字"
      - "兩隻左手 / 解剖錯誤手指"
      - "招牌、菜單、品牌字"
    vertical_safe_area_check:
      - "頭頂留白 ≤ 15%"
      - "眼線 ≥ 30% from top（CH01 臉側）"
      - "底部桌面/手部 ≥ 25% from bottom"

  # ────────────────────────────── SH008 ──────────────────────────────
  - id: SH008
    ordinal: 8
    scene_id: SC03
    location_id: LOC02
    duration_s: 4
    action: "CH01 望向窗外，霧山層次加深，旅途靜止"
    framing: "9:16 medium close-up; CH01 seated 3/4 profile looking through window out to mountains"
    camera_move: static
    camera_lens: "50mm medium close-up"

    prompt_zh: |
      9:16 縱向 medium close-up，50mm 電影鏡頭，淺景深，CH01 坐在咖啡館窗邊桌前
      3/4 profile 望向窗外山景，雙手輕捧陶杯。CH01：台灣 30 歲女性、橢圓臉柔下巴、
      深褐眼、肩長深褐微捲髮無馬尾無瀏海、自然暖中膚色、米色防風薄外套、
      左手腕深色錶帶（不可讀錶面）、左肩米色帆布袋。
      大面木框窗外冷藍綠厚霧山，層次至少 3 層，霧氣逐漸加深但不可吞沒山景；
      室內暖琥珀吊燈混合冷日光。
      旅途靜止、沉思、安靜瞬間。鏡頭是 static，垂直線嚴格保持。
    prompt_en: |
      9:16 vertical medium close-up, 50mm cinematic portrait lens, soft shallow depth of
      field. Same adult Taiwanese/East-Asian woman, early 30s, oval face with soft chin and
      gently defined jawline, dark brown eyes, natural medium-length shoulder-grazing dark
      brown hair with softly curved wave ends, no ponytail, no bangs covering eyes, natural
      warm medium skin tone, seated 3/4 profile at a wooden window-side table inside a small
      mountain coffee bar, looking out through the large framed window out to misty mountain
      ridges in cool teal-green thick fog, both hands gently cradling a warm plain ceramic
      coffee cup between them, wearing a lightweight beige water-resistant jacket with
      minimal hooded silhouette, narrow dark-strap watch visible on left wrist with blank
      unreadable face, plain cream off-white canvas travel tote resting on the seat beside
      her shoulder. Interior lit by warm amber tungsten bulbs mixing with cool daylight
      through tall window. Contemplative quiet expression, mature cinematic photorealistic
      reference photography, same face, same skin, same hair, same eye, same jacket.
      Static camera, verticals strictly locked. No readable text, no store sign, no menu, no
      price tag, no brand marks, no logo.
    reference_image_urls:
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_S08鑰匙幀/assets/keyframe-SH008.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_角色總版/character-master-CH01.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_場景總版/assets/scene-master-board-LOC02-right-three-quarter.png"
      - "/Users/caijunchang/Desktop/Image2_咖啡慢旅_場景總版/assets/scene-master-board-LOC02-establishing.png"
    reference_count: 4
    character_scope: [CH01]
    prop_scope: []
    continuity_asserts:
      - "杯子仍在雙手之間"
      - "CH01 視線朝窗外"
      - "暖室內對比冷霧窗景"
      - "不新增道具"
    forbidden_additions:
      - "兩隻左手 / 解剖錯誤手指"
      - "可讀錶面 / 手機 / 招牌 / 菜單"
      - "額外人物"
    vertical_safe_area_check:
      - "頭頂留白 ≤ 15%"
      - "眼線 ≥ 30% from top"
      - "底部手部/桌面 ≥ 25% from bottom"

# ============================================
# 規則驗證自檢（per G09_PROMPT_LOCK）
# ============================================

g09_self_check:
  total_shots: 8
  total_duration_s: 30
  aspect_ratio: "9:16"
  max_reference_count_per_shot: 4
  shots_with_ch01: [SH002, SH003, SH004, SH005, SH007, SH008]
  shots_with_ch02: [SH004, SH005, SH006, SH007]
  shots_with_only_no_char: [SH001]
  shots_macro_no_ch01: [SH006]
  forbidden_writes_to_anchors: 0
  ch01_face_lock_promised: true
  ch02_no_face_promised: true
  vertical_safe_area_enforced: true
  global_text_decision: "no readable text/store/menu/brand/price/phone/watch/apron"

# ============================================
# S09 → S10 接力資訊
# ============================================

handoff_to_s10:
  next_stage: S10_GENERATION_RECORD
  next_artifact: image-generation-manifest.yaml
  executor_rule: "only image2designer (or M5 with image_generate access) can call image_generate"
  per_shot_inputs:
    prompt: "shots[].prompt_zh + shots[].prompt_en"
    aspect_ratio: portrait
    quality: high
    reference_image_urls: "shots[].reference_image_urls"
    output_path_template: "/Users/caijunchang/Desktop/Image2_咖啡慢旅_S10生成/assets/IMG-<shot_id>.png"
  per_shot_required_record_fields:
    - asset_id
    - shot_id
    - prompt
    - tool_metadata.provider
    - tool_metadata.model
    - tool_metadata.quality
    - tool_metadata.size
    - tool_metadata.aspect_ratio
    - reference_paths
    - output_path
    - vision_verdict
    - regenerated_count
  acceptance_gate: G11_IMAGE_APPROVAL

skipped: "不寫 zshot-prompts.yaml 自動生成 wrapper；本檔 prompt 為 S10 唯一輸入。add when S11 vision_QA 通過後才生成 S10 manifest。"