# 場面別の文言プール(擬音・独白・テロップ・バッジ) ── Step1
#
# 出どころ: docs/design/mosaic-overlay-spec.md §3 のスキーマ。
#   monologue / telop / badge を追加した(元の emphasis は Step2 の吹き出しへ繰り越し)。
#   理由=Step1 で「擬音だけ」ではなく短い文字も置くと決めたため(2026-07-26 ユーザー決定)。
#
# ★分担(docs/charter.md §2)
#   Claude が書くのは **非露骨カテゴリのみ**: scenery / telop / monologue / badge。
#   contact / rhythm / fluid / reaction / voice は **空のまま出荷する**。
#   露骨な文言の選定・最終決定はユーザー領域。ツール画面から登録する。
#
# ★空のカテゴリは「未登録」と画面に出す。黙って空の擬音を出さない
#   (docs/design/preview-easymode-mock.md §67)。
#
# ★参考作品の文言・配置は転用しない。ここにあるのは日本語一般の擬音語・
#   ごく短い地の文であり、特定作品の擬音セットを写したものではない。

policy:
  original_only: true       # 参考作品の文言/配置を転用しない
  source: user_material     # 露骨カテゴリの具体文言はユーザー資料から登録する

categories:

  # ── 擬音(kind: sfx) ─────────────────────────────────────────
  # 環境・情景。最も穏当で非露骨。場と季節と時間帯を1語で立てられる。
  scenery:
    intro:
      - ミーンミーン
      - ジリジリ
      - カラ…カラ…
      - ザワ…
      - チリン
      - コトッ
      - カチ… カチ…
    approach:
      - サラ…
      - ごそ…
      - ぎしっ
      - ぱたん
      - かちゃ
      - するり
      - とん

  # 接触・摩擦 ── ユーザーが登録する
  contact:
    foreplay: []
    main: []

  # 打擲・リズム ── ユーザーが登録する(上限を超える連打は overlay.py 側で抑制)
  rhythm:
    main: []
    climax: []

  # 液体 ── ユーザーが登録する
  fluid:
    main: []
    climax: []

  # 身体反応(声ではなく反応) ── ユーザーが登録する
  reaction:
    climax: []

  # ── 短文 ────────────────────────────────────────────────────
  # 時間経過テロップ(kind: telop)
  #   morning = 自動配置に使う枠。場面カードの label_ja が「翌朝…」で始まる絵にだけ付ける
  #             (余韻=二段構え「直後2枚+翌朝1枚」という既存決定に対応する)。
  #   any     = 手直し用の候補。どこで時間が跳ぶかは作品ごとに違うので**自動では置かない**。
  telop:
    morning:
      - 翌朝
      - 翌日の朝
    any:
      - その夜
      - 夕方
      - 深夜
      - 翌日
      - 三日後
      - 数日後
      - 一週間後
      - 次の休み

  # 非露骨な独白(kind: mutter)。場面の心情だけを置く。
  monologue:
    intro:
      - また来ちゃった
      - 誰もいない
      - …どうしよう
      - 帰れなくなる
    approach:
      - だめなのに
      - 顔が見られない
      - 手が震える
      - 断れなかった
    afterglow:
      - まだ心臓がうるさい
      - 帰らなきゃ
      - 何も言えない
      - また来てしまう

  # 進行カウンタの雛形(kind: badge)。{n} が数値スロット。
  #   climax = クライマックスの絵に自動で付ける枠。**回数**の意味でなければならない
  #            (「1日目」を出してしまった不具合の対策。日付と回数を混ぜない)。
  #   any    = 手直し用。日付・夜の回数など、機械が当てられないもの。
  # 露骨な文言のバッジはユーザーが追加する。
  badge:
    climax:
      - "{n}回目"
    any:
      - "{n}日目"
      - "{n}度目の夜"

  # 喘ぎ・露骨な独白 ── ユーザーが登録する
  voice:
    approach: []
    main: []
    climax: []
    afterglow: []

# 配置の意味づけ(具体座標は templates/overlay.yaml の placement:)
# overlay.py がこのヒントを座標へ翻訳する。確定 image_mask は必ず避ける。
placement:
  scenery: corner
  contact: near_union
  rhythm: near_union
  fluid: near_union
  reaction: near_face
  voice: near_face
  monologue: margin
  telop: corner
  badge: corner
