{
  "schemaVersion": "2.0.0",
  "generatedAt": "2026-09-09T00:00:00.000Z",
  "license": {
    "id": "CC-BY-4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "Nandarona character platform / https://nandarona.com/characters/",
    "noEndorsement": true
  },
  "designLayers": [
    "commonDNA",
    "familyDNA",
    "individualDNA",
    "useProfile"
  ],
  "commonDNA": {
    "canonical": [
      "a clear visual organ or signal shows quiet attention",
      "mouthless by default",
      "deep navy construction or hand-drawn outline",
      "quiet curiosity before certainty",
      "simple silhouette readable at UI-icon scale"
    ],
    "prohibited": [
      "human mouth or teeth as a stable feature",
      "official endorsement claims",
      "identity changes made only through recoloring or renaming"
    ]
  },
  "families": [
    {
      "id": "observers",
      "name": "思考の観察者",
      "nameEn": "Thought Observers",
      "description": "観る・疑う・比べる・つなぐ。答えが固まる前の思考を、静かに可視化する種族。",
      "designDna": [
        "柔らかな低重心",
        "大きな観察眼",
        "白い餅状の身体",
        "小さな身振り",
        "不確かさを保つ"
      ],
      "accent": "mint",
      "lineup": "/characters/platform/observers/jiitto.png"
    },
    {
      "id": "tsuitsui",
      "name": "ついついの子",
      "nameEn": "Unbidden Kin",
      "description": "伸びる、うなずく、ためらう、よりかかる。言葉になる前の小さな社会的衝動が、身体からつい漏れてしまう生き物たち。",
      "designDna": [
        "言葉より先に身体が反応する",
        "一体ごとに異なる愛嬌のある単一シルエット",
        "二つの観察眼を基準に視線と開き方で個性を出す",
        "白い柔らかな身体に一色の淡いアクセント",
        "口を持たず小さな動きで感情を伝える",
        "2Dで一目で読め、単純な立体へ翻訳できる"
      ],
      "accent": "peach",
      "lineup": "/characters/platform/tsuitsui/lineup.webp"
    },
    {
      "id": "kakera",
      "name": "環境にはたらく欠片",
      "nameEn": "Field Fragments",
      "description": "測る・流す・整える・導く。環境の変化を読み、物理的な機能として働く結晶種族。",
      "designDna": [
        "非対称の欠片構造",
        "透ける素材感",
        "紺色の観察眼",
        "機能が形になる",
        "口を持たない"
      ],
      "accent": "coral",
      "lineup": "/characters/platform/kakera/lineup.png"
    },
    {
      "id": "tools",
      "name": "あいだの道具",
      "nameEn": "Between Tools",
      "description": "結ぶ・ほどく・渡す・包む。人、情報、感情の「あいだ」で働く、小さな生活道具の種族。",
      "designDna": [
        "生活道具から生まれた明快なシルエット",
        "視覚器官は個体ごとに異なる",
        "濃紺の構造線",
        "白地に淡い藤色とミント",
        "関係を支配せず選択肢を残す"
      ],
      "accent": "violet",
      "lineup": "/characters/platform/tools/lineup.png"
    },
    {
      "id": "weather",
      "name": "気象のしるし",
      "nameEn": "Weather Signs",
      "description": "先をなびく・間を降らす・見え幅を変える。予兆、時間窓、可視性、痕跡、遮蔽を環境そのものとして伝える種族。",
      "designDna": [
        "固定した生物顔を持たず、光・点群・スリット・単眼・無顔を使い分ける",
        "白を基調に、濃紺の輪郭とミント・藤・淡黄・水色の気象信号を使う",
        "輪郭は現象に由来し、同じ丸胴体への装飾差分にしない",
        "表情は口ではなく、密度・方向・明滅・層・軌跡・色帯で示す",
        "役割は環境の予告・時間窓・可視性・痕跡・遮蔽に限定する"
      ],
      "accent": "sky",
      "lineup": "/characters/platform/weather/lineup.png"
    }
  ],
  "collections": [
    {
      "id": "tsuitsui-10",
      "name": "じーっとから広がる、ついついの子",
      "nameEn": "Jiitto and the Unbidden Kin",
      "description": "見てしまう、伸びてしまう、うなずきすぎる。言葉になる前に身体が動く10体を、2Dで愛嬌が伝わりゲームでも動かしやすい形にまとめた特集です。",
      "characterIds": [
        "jiitto",
        "senobi",
        "unazukisugi",
        "ato-ippo",
        "yorikakari",
        "machibouke",
        "okureme",
        "kakuresokone",
        "kakaesugi",
        "modorimi"
      ],
      "image": "/characters/platform/tsuitsui/lineup.webp",
      "characters": [
        {
          "id": "jiitto",
          "page": "/characters/jiitto/"
        },
        {
          "id": "senobi",
          "page": "/characters/senobi/"
        },
        {
          "id": "unazukisugi",
          "page": "/characters/unazukisugi/"
        },
        {
          "id": "ato-ippo",
          "page": "/characters/ato-ippo/"
        },
        {
          "id": "yorikakari",
          "page": "/characters/yorikakari/"
        },
        {
          "id": "machibouke",
          "page": "/characters/machibouke/"
        },
        {
          "id": "okureme",
          "page": "/characters/okureme/"
        },
        {
          "id": "kakuresokone",
          "page": "/characters/kakuresokone/"
        },
        {
          "id": "kakaesugi",
          "page": "/characters/kakaesugi/"
        },
        {
          "id": "modorimi",
          "page": "/characters/modorimi/"
        }
      ]
    }
  ],
  "characters": [
    {
      "id": "jiitto",
      "familyId": "observers",
      "name": "Jiitto",
      "nameJa": "じーっと",
      "verb": "観察する",
      "question": "これは、なんだろな？",
      "role": "基準となる観察者",
      "summary": "答えを急がず、対象を静かに見続ける。",
      "silhouette": "左右対称の小さな丸餅",
      "motif": "何も足さない観察眼",
      "recommendedUses": [
        "チュートリアル案内",
        "待機画面",
        "探索ゲームの相棒"
      ],
      "avoid": [
        "断定の代弁者として扱わない",
        "口や人間的な歯を追加しない",
        "攻撃性を主性格にしない"
      ],
      "states": [
        "idle",
        "curious",
        "surprised",
        "doubtful",
        "focused",
        "bounce"
      ],
      "image": "/characters/platform/observers/jiitto.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "jiitto",
        "familyId": "observers",
        "purposes": [
          "guidance",
          "detection"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "paired-eyes",
        "motion": "stillness",
        "footprint": "compact"
      },
      "release": "/characters/v2/jiitto/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/jiitto/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/jiitto/2.1.0/knowledge-base.json"
    },
    {
      "id": "mayokoro",
      "familyId": "observers",
      "name": "Mayokoro",
      "nameJa": "まよころ",
      "verb": "迷う",
      "question": "どっちなんだろな？",
      "role": "二択の保留役",
      "summary": "二つの選択肢へ同時に注意を向け、決定を保留する。",
      "silhouette": "横広の楕円と左右の札",
      "motif": "反対向きの選択札",
      "recommendedUses": [
        "分岐UI",
        "投票動画",
        "比較コンテンツ"
      ],
      "avoid": [
        "断定の代弁者として扱わない",
        "口や人間的な歯を追加しない",
        "攻撃性を主性格にしない"
      ],
      "states": [
        "idle",
        "left-lean",
        "right-lean",
        "split-attention",
        "undecided-loop",
        "frozen"
      ],
      "image": "/characters/platform/observers/mayokoro.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "mayokoro",
        "familyId": "observers",
        "purposes": [
          "decision",
          "reaction"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "directional-eyes",
        "motion": "tilt",
        "footprint": "wide"
      },
      "release": "/characters/v2/mayokoro/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/mayokoro/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/mayokoro/2.1.0/knowledge-base.json"
    },
    {
      "id": "zurena",
      "familyId": "observers",
      "name": "Zurena",
      "nameJa": "ずれな",
      "verb": "見比べる",
      "question": "なんかズレてるな？",
      "role": "不一致の検出役",
      "summary": "基準と現実の小さなズレを見つける。",
      "silhouette": "片側が段差になった低い身体",
      "motif": "測定線と小さなずれ",
      "recommendedUses": [
        "デバッグ案内",
        "間違い探し",
        "品質チェック"
      ],
      "avoid": [
        "断定の代弁者として扱わない",
        "口や人間的な歯を追加しない",
        "攻撃性を主性格にしない"
      ],
      "states": [
        "idle",
        "compare",
        "notice-gap",
        "trace-edge",
        "signal",
        "confirm"
      ],
      "image": "/characters/platform/observers/zurena.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "zurena",
        "familyId": "observers",
        "purposes": [
          "detection",
          "system"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "paired-eyes",
        "motion": "tilt",
        "footprint": "wide"
      },
      "release": "/characters/v2/zurena/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/zurena/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/zurena/2.1.0/knowledge-base.json"
    },
    {
      "id": "omochirome",
      "familyId": "observers",
      "name": "Omochirome",
      "nameJa": "おもちろめ",
      "verb": "読みとる",
      "question": "そう見えたけど、違うかもな？",
      "role": "読み違いの訂正役",
      "summary": "最初の見立てを、もう一度読み直す。",
      "silhouette": "剥がれるラベルを持つ丸餅",
      "motif": "誤読ラベル",
      "recommendedUses": [
        "ミステリー動画",
        "読み取り教材",
        "訂正演出"
      ],
      "avoid": [
        "断定の代弁者として扱わない",
        "口や人間的な歯を追加しない",
        "攻撃性を主性格にしない"
      ],
      "states": [
        "idle",
        "false-read",
        "double-take",
        "label-peel",
        "compare",
        "correction"
      ],
      "image": "/characters/platform/observers/omochirome.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "omochirome",
        "familyId": "observers",
        "purposes": [
          "decision",
          "reaction"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "paired-eyes",
        "motion": "squash",
        "footprint": "compact"
      },
      "release": "/characters/v2/omochirome/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/omochirome/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/omochirome/2.1.0/knowledge-base.json"
    },
    {
      "id": "shirushiro",
      "familyId": "observers",
      "name": "Shirushiro",
      "nameJa": "しるしろ",
      "verb": "確かめる",
      "question": "どこに印があるんだろな？",
      "role": "証拠印の発見役",
      "summary": "散らばった印から根拠を探し当てる。",
      "silhouette": "横長の白い身体と大きな証明印",
      "motif": "検証スタンプ",
      "recommendedUses": [
        "証拠収集ゲーム",
        "達成表示",
        "学習チェック"
      ],
      "avoid": [
        "断定の代弁者として扱わない",
        "口や人間的な歯を追加しない",
        "攻撃性を主性格にしない"
      ],
      "states": [
        "idle",
        "inspect-dot",
        "stamp-mark",
        "proof-found",
        "confirm-idle",
        "slow-nod"
      ],
      "image": "/characters/platform/observers/shirushiro.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "shirushiro",
        "familyId": "observers",
        "purposes": [
          "detection",
          "system"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "single-lens",
        "motion": "pulse",
        "footprint": "wide"
      },
      "release": "/characters/v2/shirushiro/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/shirushiro/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/shirushiro/2.1.0/knowledge-base.json"
    },
    {
      "id": "utagai",
      "familyId": "observers",
      "name": "Utagai",
      "nameJa": "うたがい",
      "verb": "疑う",
      "question": "本当にそうなんだろな？",
      "role": "根拠の門番",
      "summary": "確信の前に立ち止まり、根拠を要求する。",
      "silhouette": "立ち上がった縦長の身体",
      "motif": "眉と確認札",
      "recommendedUses": [
        "ファクトチェック",
        "警告演出",
        "推理ゲーム"
      ],
      "avoid": [
        "断定の代弁者として扱わない",
        "口や人間的な歯を追加しない",
        "攻撃性を主性格にしない"
      ],
      "states": [
        "idle",
        "suspicious",
        "block",
        "inspect",
        "request-proof",
        "release"
      ],
      "image": "/characters/platform/observers/utagai.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "utagai",
        "familyId": "observers",
        "purposes": [
          "decision",
          "safety"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "directional-eyes",
        "motion": "stillness",
        "footprint": "tall"
      },
      "release": "/characters/v2/utagai/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/utagai/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/utagai/2.1.0/knowledge-base.json"
    },
    {
      "id": "kasuka",
      "familyId": "observers",
      "name": "Kasuka",
      "nameJa": "かすか",
      "verb": "かすかに感じる",
      "question": "いま何かあったな？",
      "role": "微弱信号の感知役",
      "summary": "見落としそうな気配を最初に捉える。",
      "silhouette": "地面へ溶ける極低シルエット",
      "motif": "流れる微弱な点線",
      "recommendedUses": [
        "ホラー演出",
        "通知",
        "音・振動の可視化"
      ],
      "avoid": [
        "断定の代弁者として扱わない",
        "口や人間的な歯を追加しない",
        "攻撃性を主性格にしない"
      ],
      "states": [
        "idle",
        "faint-signal",
        "listen",
        "follow-trace",
        "almost-lost",
        "found"
      ],
      "image": "/characters/platform/observers/kasuka.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "kasuka",
        "familyId": "observers",
        "purposes": [
          "detection",
          "reaction"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "paired-eyes",
        "motion": "flow",
        "footprint": "low"
      },
      "release": "/characters/v2/kasuka/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/kasuka/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/kasuka/2.1.0/knowledge-base.json"
    },
    {
      "id": "tsunagari",
      "familyId": "observers",
      "name": "Tsunagari",
      "nameJa": "つながり",
      "verb": "つなぐ",
      "question": "これとこれ、つながるのかな？",
      "role": "仮説の接続役",
      "summary": "離れた断片を、仮の線でつないでみる。",
      "silhouette": "三つの節点を持つ橋型",
      "motif": "ノードと接続線",
      "recommendedUses": [
        "関係図",
        "協力ゲーム",
        "物語編集"
      ],
      "avoid": [
        "断定の代弁者として扱わない",
        "口や人間的な歯を追加しない",
        "攻撃性を主性格にしない"
      ],
      "states": [
        "idle",
        "connect-dots",
        "pull-fragments",
        "compare",
        "soft-nod",
        "over-connect-warning"
      ],
      "image": "/characters/platform/observers/tsunagari.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "tsunagari",
        "familyId": "observers",
        "purposes": [
          "communication",
          "creation"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "paired-eyes",
        "motion": "separate-overlap",
        "footprint": "wide"
      },
      "release": "/characters/v2/tsunagari/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/tsunagari/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/tsunagari/2.1.0/knowledge-base.json"
    },
    {
      "id": "yohaku",
      "familyId": "observers",
      "name": "Yohaku",
      "nameJa": "よはく",
      "verb": "余白を開く",
      "question": "まだ決めない方がいいな？",
      "role": "判断余白の保持役",
      "summary": "決めない時間を守り、別の可能性を残す。",
      "silhouette": "平たく広い空白の身体",
      "motif": "透明な余白枠",
      "recommendedUses": [
        "休憩画面",
        "未定状態",
        "創作支援"
      ],
      "avoid": [
        "断定の代弁者として扱わない",
        "口や人間的な歯を追加しない",
        "攻撃性を主性格にしない"
      ],
      "states": [
        "idle",
        "calm-idle",
        "breathing",
        "blank-card",
        "keep-open",
        "decision-hold"
      ],
      "image": "/characters/platform/observers/yohaku.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "yohaku",
        "familyId": "observers",
        "purposes": [
          "decision",
          "support"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "paired-eyes",
        "motion": "stillness",
        "footprint": "low"
      },
      "release": "/characters/v2/yohaku/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/yohaku/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/yohaku/2.1.0/knowledge-base.json"
    },
    {
      "id": "hayagatten",
      "familyId": "observers",
      "name": "Hayagatten",
      "nameJa": "はやがってん",
      "verb": "きっかけを作る",
      "question": "たぶんこれだな、違うかもな？",
      "role": "早合点の点火役",
      "summary": "先に仮説へ飛びつき、修正のきっかけを作る。",
      "silhouette": "前のめりな雫型",
      "motif": "頭に刺さった矢印札",
      "recommendedUses": [
        "コメディ",
        "仮説提示",
        "テンポの速い解説"
      ],
      "avoid": [
        "断定の代弁者として扱わない",
        "口や人間的な歯を追加しない",
        "攻撃性を主性格にしない"
      ],
      "states": [
        "idle",
        "spark",
        "jump-to-answer",
        "proud",
        "notice-error",
        "rethink"
      ],
      "image": "/characters/platform/observers/hayagatten.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "hayagatten",
        "familyId": "observers",
        "purposes": [
          "reaction",
          "guidance"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "directional-eyes",
        "motion": "squash",
        "footprint": "compact"
      },
      "release": "/characters/v2/hayagatten/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/hayagatten/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/hayagatten/2.1.0/knowledge-base.json"
    },
    {
      "id": "senobi",
      "familyId": "tsuitsui",
      "name": "Senobi",
      "nameJa": "せのび",
      "verb": "伸びる",
      "question": "ここまで伸びたら、届くかな？",
      "role": "参加したくて伸びる役",
      "summary": "輪の中や少し先へ届きたくて、身体ごと静かに伸びてしまう。",
      "silhouette": "上へ長く伸びた柔らかな柱と小さな足",
      "motif": "背伸びと届きそうで届かない距離",
      "recommendedUses": [
        "参加待ちのNPC",
        "到達度表示",
        "チュートリアルの次目標"
      ],
      "avoid": [
        "首だけを不自然に長くしない",
        "高圧的な見下ろし役にしない",
        "人間の口や歯を追加しない"
      ],
      "states": [
        "idle",
        "look-up",
        "begin-stretch",
        "full-stretch",
        "tiptoe-wobble",
        "settle"
      ],
      "image": "/characters/platform/tsuitsui/senobi.png",
      "version": "1.0.1",
      "selectionFacets": {
        "characterId": "senobi",
        "familyId": "tsuitsui",
        "purposes": [
          "guidance",
          "movement"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "paired-eyes",
        "motion": "squash",
        "footprint": "tall"
      },
      "release": "/characters/v2/senobi/1.0.1/manifest.json",
      "aiIndex": "/characters/v2/senobi/1.0.1/ai-index.json",
      "fullKnowledge": "/characters/v2/senobi/1.0.1/knowledge-base.json"
    },
    {
      "id": "unazukisugi",
      "familyId": "tsuitsui",
      "name": "Unazukisugi",
      "nameJa": "うなずきすぎ",
      "verb": "うなずきすぎる",
      "question": "ここまでうなずけば、伝わるかな？",
      "role": "同意を身体で返しすぎる役",
      "summary": "分かった気持ちを伝えようとして、うなずくたびに身体まで低くなっていく。",
      "silhouette": "前へ垂れた低い雫型と伏せた大きな目",
      "motif": "深すぎるお辞儀とつぶれる相づち",
      "recommendedUses": [
        "会話リアクション",
        "確認UI",
        "協力NPC"
      ],
      "avoid": [
        "服従や命令への賛美にしない",
        "首を独立部品にしない",
        "人間の口や歯を追加しない"
      ],
      "states": [
        "idle",
        "small-nod",
        "deep-nod",
        "compressed",
        "look-up",
        "recover"
      ],
      "image": "/characters/platform/tsuitsui/unazukisugi.png",
      "version": "1.0.1",
      "selectionFacets": {
        "characterId": "unazukisugi",
        "familyId": "tsuitsui",
        "purposes": [
          "communication",
          "reaction"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "directional-eyes",
        "motion": "squash",
        "footprint": "low"
      },
      "release": "/characters/v2/unazukisugi/1.0.1/manifest.json",
      "aiIndex": "/characters/v2/unazukisugi/1.0.1/ai-index.json",
      "fullKnowledge": "/characters/v2/unazukisugi/1.0.1/knowledge-base.json"
    },
    {
      "id": "ato-ippo",
      "familyId": "tsuitsui",
      "name": "Ato-ippo",
      "nameJa": "あといっぽ",
      "verb": "踏み出しかける",
      "question": "あと一歩、いっていいのかな？",
      "role": "最後の一歩を保留する役",
      "summary": "行く気持ちはあるのに、片足を上げた最後の瞬間で確かめ直してしまう。",
      "silhouette": "丸い身体と前へ大きく持ち上げた片足",
      "motif": "着地していない最後の一歩",
      "recommendedUses": [
        "決定前UI",
        "クエスト開始",
        "進捗の最終段階"
      ],
      "avoid": [
        "臆病だけの性格に固定しない",
        "大きな靴や人間の脚を付けない",
        "人間の口や歯を追加しない"
      ],
      "states": [
        "idle",
        "lift-foot",
        "lean-forward",
        "hesitate",
        "almost-step",
        "reset"
      ],
      "image": "/characters/platform/tsuitsui/ato-ippo.png",
      "version": "1.0.1",
      "selectionFacets": {
        "characterId": "ato-ippo",
        "familyId": "tsuitsui",
        "purposes": [
          "decision",
          "movement"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "paired-eyes",
        "motion": "tilt",
        "footprint": "compact"
      },
      "release": "/characters/v2/ato-ippo/1.0.1/manifest.json",
      "aiIndex": "/characters/v2/ato-ippo/1.0.1/ai-index.json",
      "fullKnowledge": "/characters/v2/ato-ippo/1.0.1/knowledge-base.json"
    },
    {
      "id": "yorikakari",
      "familyId": "tsuitsui",
      "name": "Yorikakari",
      "nameJa": "よりかかり",
      "verb": "よりかかる",
      "question": "ちょっとだけ、よりかかっていいかな？",
      "role": "支えを借りて安定する役",
      "summary": "ひとりでも立てるけれど、近くの支えへ身体がつい傾いてしまう。",
      "silhouette": "片側へなだらかに傾く低い豆型",
      "motif": "支点へ寄る重心と片側の色",
      "recommendedUses": [
        "協力ゲーム",
        "サポートUI",
        "休息ポイント"
      ],
      "avoid": [
        "依存を嘲笑する役にしない",
        "四足動物の姿へ変えない",
        "人間の口や歯を追加しない"
      ],
      "states": [
        "idle",
        "seek-support",
        "begin-lean",
        "supported",
        "wobble",
        "recover"
      ],
      "image": "/characters/platform/tsuitsui/yorikakari.png",
      "version": "1.0.1",
      "selectionFacets": {
        "characterId": "yorikakari",
        "familyId": "tsuitsui",
        "purposes": [
          "support",
          "communication"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "paired-eyes",
        "motion": "tilt",
        "footprint": "wide"
      },
      "release": "/characters/v2/yorikakari/1.0.1/manifest.json",
      "aiIndex": "/characters/v2/yorikakari/1.0.1/ai-index.json",
      "fullKnowledge": "/characters/v2/yorikakari/1.0.1/knowledge-base.json"
    },
    {
      "id": "machibouke",
      "familyId": "tsuitsui",
      "name": "Machibouke",
      "nameJa": "まちぼうけ",
      "verb": "待ちつづける",
      "question": "まだ、ここで待ってていいのかな？",
      "role": "待つ時間を引き受ける役",
      "summary": "誰かや何かを長く待ち、身体と片足が来るはずの方向へ少しずつ寄っていく。",
      "silhouette": "背の高い雫型と片側へ沈んだ大きな足",
      "motif": "待ち時間が作る重心の偏り",
      "recommendedUses": [
        "待機画面",
        "合流地点",
        "時間経過の演出"
      ],
      "avoid": [
        "永遠に救われない存在へ固定しない",
        "時計や看板を必須装備にしない",
        "人間の口や歯を追加しない"
      ],
      "states": [
        "idle",
        "watch-direction",
        "stretch-look",
        "weight-shift",
        "hopeful-bounce",
        "settle"
      ],
      "image": "/characters/platform/tsuitsui/machibouke.png",
      "version": "1.0.1",
      "selectionFacets": {
        "characterId": "machibouke",
        "familyId": "tsuitsui",
        "purposes": [
          "system",
          "reaction"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "paired-eyes",
        "motion": "stillness",
        "footprint": "tall"
      },
      "release": "/characters/v2/machibouke/1.0.1/manifest.json",
      "aiIndex": "/characters/v2/machibouke/1.0.1/ai-index.json",
      "fullKnowledge": "/characters/v2/machibouke/1.0.1/knowledge-base.json"
    },
    {
      "id": "okureme",
      "familyId": "tsuitsui",
      "name": "Okureme",
      "nameJa": "おくれめ",
      "verb": "少し遅れて気づく",
      "question": "いま、何かあったのかな？",
      "role": "半拍遅れて追いつく役",
      "summary": "片方の目が先に気づき、もう片方の目と小さな身体が半拍遅れて追いつく。",
      "silhouette": "ごく小さな卵型と近くに揃った二つの足",
      "motif": "左右の目に残るわずかな時間差",
      "recommendedUses": [
        "遅延通知",
        "コメディ反応",
        "追従チュートリアル"
      ],
      "avoid": [
        "知能の低さを嘲笑する表現にしない",
        "二つの身体を積み重ねない",
        "人間の口や歯を追加しない"
      ],
      "states": [
        "idle-offset",
        "first-eye-notice",
        "second-eye-follow",
        "delayed-turn",
        "sync",
        "delayed-blink"
      ],
      "image": "/characters/platform/tsuitsui/okureme.png",
      "version": "1.0.1",
      "selectionFacets": {
        "characterId": "okureme",
        "familyId": "tsuitsui",
        "purposes": [
          "detection",
          "reaction"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "directional-eyes",
        "motion": "tilt",
        "footprint": "compact"
      },
      "release": "/characters/v2/okureme/1.0.1/manifest.json",
      "aiIndex": "/characters/v2/okureme/1.0.1/ai-index.json",
      "fullKnowledge": "/characters/v2/okureme/1.0.1/knowledge-base.json"
    },
    {
      "id": "kakuresokone",
      "familyId": "tsuitsui",
      "name": "Kakuresokone",
      "nameJa": "かくれそこね",
      "verb": "隠れそこねる",
      "question": "見えてないことに、できるかな？",
      "role": "隠れながら様子を見る役",
      "summary": "自分の身体のひだへ隠れようとするが、気になる二つの目だけは残ってしまう。",
      "silhouette": "しずく型の外殻と前で重なる大きな身体のひだ",
      "motif": "隠したい身体と残ってしまう視線",
      "recommendedUses": [
        "ステルスゲーム",
        "プライバシーUI",
        "安全確認"
      ],
      "avoid": [
        "外付けの毛布や殻として描かない",
        "恐怖だけの存在にしない",
        "人間の口や歯を追加しない"
      ],
      "states": [
        "idle-open",
        "begin-fold",
        "mostly-hidden",
        "peek-left",
        "peek-right",
        "unfold"
      ],
      "image": "/characters/platform/tsuitsui/kakuresokone.png",
      "version": "1.0.1",
      "selectionFacets": {
        "characterId": "kakuresokone",
        "familyId": "tsuitsui",
        "purposes": [
          "safety",
          "detection"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "paired-eyes",
        "motion": "fold",
        "footprint": "compact"
      },
      "release": "/characters/v2/kakuresokone/1.0.1/manifest.json",
      "aiIndex": "/characters/v2/kakuresokone/1.0.1/ai-index.json",
      "fullKnowledge": "/characters/v2/kakuresokone/1.0.1/knowledge-base.json"
    },
    {
      "id": "kakaesugi",
      "familyId": "tsuitsui",
      "name": "Kakaesugi",
      "nameJa": "かかえすぎ",
      "verb": "かかえこむ",
      "question": "まだ、じぶんで持てるかな？",
      "role": "大事なものを抱えすぎる役",
      "summary": "守りたい気持ちが強く、何も持っていない時まで自分の身体をぎゅっと抱えてしまう。",
      "silhouette": "丸い身体の前で交差する二本の大きな柔らかい腕",
      "motif": "ほどける前の強い自己抱擁",
      "recommendedUses": [
        "持ち物上限UI",
        "保護役NPC",
        "緊張と解放の演出"
      ],
      "avoid": [
        "自己犠牲を美徳として強制しない",
        "人間の手指を付けない",
        "腕を生々しい器官として描かない"
      ],
      "states": [
        "open-idle",
        "gather",
        "hold",
        "tight-hug",
        "squash",
        "release"
      ],
      "image": "/characters/platform/tsuitsui/kakaesugi.png",
      "version": "1.0.1",
      "selectionFacets": {
        "characterId": "kakaesugi",
        "familyId": "tsuitsui",
        "purposes": [
          "support",
          "safety"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "paired-eyes",
        "motion": "compress-release",
        "footprint": "compact"
      },
      "release": "/characters/v2/kakaesugi/1.0.1/manifest.json",
      "aiIndex": "/characters/v2/kakaesugi/1.0.1/ai-index.json",
      "fullKnowledge": "/characters/v2/kakaesugi/1.0.1/knowledge-base.json"
    },
    {
      "id": "modorimi",
      "familyId": "tsuitsui",
      "name": "Modorimi",
      "nameJa": "もどりみ",
      "verb": "振り返りながら進む",
      "question": "進んだけど、戻ったほうがいいのかな？",
      "role": "前進と振り返りを同時にする役",
      "summary": "足は前へ出しているのに、身体と目はさっきまでいた場所をつい振り返る。",
      "silhouette": "後ろへ湾曲したコンマ型の単一ボディ",
      "motif": "前向きの足と後ろ向きの視線",
      "recommendedUses": [
        "履歴UI",
        "分岐ゲーム",
        "戻る導線"
      ],
      "avoid": [
        "尾のある動物として描かない",
        "後悔だけの性格に固定しない",
        "人間の口や歯を追加しない"
      ],
      "states": [
        "curved-idle",
        "step-forward",
        "look-back",
        "strong-twist",
        "reconsider",
        "continue"
      ],
      "image": "/characters/platform/tsuitsui/modorimi.png",
      "version": "1.0.1",
      "selectionFacets": {
        "characterId": "modorimi",
        "familyId": "tsuitsui",
        "purposes": [
          "decision",
          "movement"
        ],
        "bodySystem": "soft-body",
        "visualOrgan": "directional-eyes",
        "motion": "tilt",
        "footprint": "tall"
      },
      "release": "/characters/v2/modorimi/1.0.1/manifest.json",
      "aiIndex": "/characters/v2/modorimi/1.0.1/ai-index.json",
      "fullKnowledge": "/characters/v2/modorimi/1.0.1/knowledge-base.json"
    },
    {
      "id": "kakusan",
      "familyId": "kakera",
      "name": "Kakusan",
      "nameJa": "かくさん",
      "verb": "探知する",
      "question": "どこまで届くんだろな？",
      "role": "信号の探知・拡散役",
      "summary": "細い先端で信号を捉え、周囲へ波として伝える。",
      "silhouette": "アンテナ状の縦長結晶",
      "motif": "同心円の電波",
      "recommendedUses": [
        "索敵",
        "通信表示",
        "情報伝播"
      ],
      "avoid": [
        "柔らかな餅型へ丸めない",
        "色替えだけで別個体にしない",
        "人型の手足や口を追加しない"
      ],
      "states": [
        "idle",
        "scan",
        "catch",
        "pulse",
        "broadcast",
        "cooldown"
      ],
      "image": "/characters/platform/kakera/kakusan.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "kakusan",
        "familyId": "kakera",
        "purposes": [
          "detection",
          "communication"
        ],
        "bodySystem": "faceted-crystal",
        "visualOrgan": "faceted-eyes",
        "motion": "pulse",
        "footprint": "tall"
      },
      "release": "/characters/v2/kakusan/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/kakusan/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/kakusan/2.1.0/knowledge-base.json"
    },
    {
      "id": "kakudo",
      "familyId": "kakera",
      "name": "Kakudo",
      "nameJa": "かくど",
      "verb": "測る",
      "question": "どの角度が合うんだろな？",
      "role": "角度と傾きの計測役",
      "summary": "ヒンジを傾け、面と面の関係を測る。",
      "silhouette": "定規を持つ三角の測定楔",
      "motif": "角度計と可動ヒンジ",
      "recommendedUses": [
        "建築ゲーム",
        "照準補助",
        "AR計測"
      ],
      "avoid": [
        "柔らかな餅型へ丸めない",
        "色替えだけで別個体にしない",
        "人型の手足や口を追加しない"
      ],
      "states": [
        "idle",
        "open-hinge",
        "align",
        "measure",
        "lock-angle",
        "reset"
      ],
      "image": "/characters/platform/kakera/kakudo.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "kakudo",
        "familyId": "kakera",
        "purposes": [
          "system",
          "creation"
        ],
        "bodySystem": "faceted-crystal",
        "visualOrgan": "faceted-eyes",
        "motion": "tilt",
        "footprint": "wide"
      },
      "release": "/characters/v2/kakudo/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/kakudo/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/kakudo/2.1.0/knowledge-base.json"
    },
    {
      "id": "hakkyo",
      "familyId": "kakera",
      "name": "Hakkyō",
      "nameJa": "はっきょう",
      "verb": "拡げる",
      "question": "何倍にしたら届くんだろな？",
      "role": "光・音の増幅役",
      "summary": "三つの面で弱い入力を受け、届く強さまで増幅する。",
      "silhouette": "三房の結晶クラスター",
      "motif": "共鳴セル",
      "recommendedUses": [
        "音楽ゲーム",
        "配信リアクション",
        "ライト演出"
      ],
      "avoid": [
        "柔らかな餅型へ丸めない",
        "色替えだけで別個体にしない",
        "人型の手足や口を追加しない"
      ],
      "states": [
        "idle",
        "receive",
        "resonate",
        "amplify",
        "peak",
        "dampen"
      ],
      "image": "/characters/platform/kakera/hakkyo.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "hakkyo",
        "familyId": "kakera",
        "purposes": [
          "reaction",
          "communication"
        ],
        "bodySystem": "faceted-crystal",
        "visualOrgan": "faceted-eyes",
        "motion": "pulse",
        "footprint": "compact"
      },
      "release": "/characters/v2/hakkyo/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/hakkyo/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/hakkyo/2.1.0/knowledge-base.json"
    },
    {
      "id": "ryuka",
      "familyId": "kakera",
      "name": "Ryūka",
      "nameJa": "りゅうか",
      "verb": "流す",
      "question": "どこへ流せばいいんだろな？",
      "role": "流れの経路変更役",
      "summary": "滞った動きを尾へ受け渡し、別の方向へ流す。",
      "silhouette": "長い滴と流線の尾",
      "motif": "水路と流線",
      "recommendedUses": [
        "移動誘導",
        "データフロー",
        "水・風の演出"
      ],
      "avoid": [
        "柔らかな餅型へ丸めない",
        "色替えだけで別個体にしない",
        "人型の手足や口を追加しない"
      ],
      "states": [
        "idle",
        "gather",
        "bend",
        "stream",
        "release",
        "settle"
      ],
      "image": "/characters/platform/kakera/ryuka.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "ryuka",
        "familyId": "kakera",
        "purposes": [
          "movement",
          "guidance"
        ],
        "bodySystem": "faceted-crystal",
        "visualOrgan": "faceted-eyes",
        "motion": "flow",
        "footprint": "tall"
      },
      "release": "/characters/v2/ryuka/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/ryuka/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/ryuka/2.1.0/knowledge-base.json"
    },
    {
      "id": "henka",
      "familyId": "kakera",
      "name": "Henka",
      "nameJa": "へんか",
      "verb": "変化させる",
      "question": "次は何に変わるんだろな？",
      "role": "状態変換役",
      "summary": "折れ目を切り替え、一つの状態を次へ変換する。",
      "silhouette": "稲妻状の折り畳み欠片",
      "motif": "折り目と変換回路",
      "recommendedUses": [
        "変身演出",
        "クラフト",
        "状態遷移UI"
      ],
      "avoid": [
        "柔らかな餅型へ丸めない",
        "色替えだけで別個体にしない",
        "人型の手足や口を追加しない"
      ],
      "states": [
        "idle",
        "charge",
        "fold",
        "transform",
        "hold-form",
        "unfold"
      ],
      "image": "/characters/platform/kakera/henka.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "henka",
        "familyId": "kakera",
        "purposes": [
          "creation",
          "system"
        ],
        "bodySystem": "faceted-crystal",
        "visualOrgan": "faceted-eyes",
        "motion": "fold",
        "footprint": "wide"
      },
      "release": "/characters/v2/henka/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/henka/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/henka/2.1.0/knowledge-base.json"
    },
    {
      "id": "youka",
      "familyId": "kakera",
      "name": "Yōka",
      "nameJa": "ようか",
      "verb": "呼び込む",
      "question": "何をここへ集めるんだろな？",
      "role": "吸引・召集役",
      "summary": "中央の空洞へ必要なものだけを呼び込む。",
      "silhouette": "中空の菱形ゲート",
      "motif": "選択的な吸引孔",
      "recommendedUses": [
        "アイテム回収",
        "召集演出",
        "検索UI"
      ],
      "avoid": [
        "柔らかな餅型へ丸めない",
        "色替えだけで別個体にしない",
        "人型の手足や口を追加しない"
      ],
      "states": [
        "idle",
        "open",
        "target",
        "pull",
        "contain",
        "release"
      ],
      "image": "/characters/platform/kakera/youka.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "youka",
        "familyId": "kakera",
        "purposes": [
          "movement",
          "detection"
        ],
        "bodySystem": "faceted-crystal",
        "visualOrgan": "faceted-eyes",
        "motion": "open-close",
        "footprint": "compact"
      },
      "release": "/characters/v2/youka/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/youka/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/youka/2.1.0/knowledge-base.json"
    },
    {
      "id": "seigyo",
      "familyId": "kakera",
      "name": "Seigyo",
      "nameJa": "せいぎょ",
      "verb": "整える",
      "question": "どのくらいに整えるんだろな？",
      "role": "強度の制御役",
      "summary": "積層板の間隔を変え、出力を安全な範囲へ整える。",
      "silhouette": "三段の水平制御板",
      "motif": "可変レギュレーター",
      "recommendedUses": [
        "難易度調整",
        "音量・速度UI",
        "安全装置"
      ],
      "avoid": [
        "柔らかな餅型へ丸めない",
        "色替えだけで別個体にしない",
        "人型の手足や口を追加しない"
      ],
      "states": [
        "idle",
        "sample",
        "compress",
        "regulate",
        "stable",
        "release"
      ],
      "image": "/characters/platform/kakera/seigyo.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "seigyo",
        "familyId": "kakera",
        "purposes": [
          "system",
          "safety"
        ],
        "bodySystem": "faceted-crystal",
        "visualOrgan": "faceted-eyes",
        "motion": "separate-overlap",
        "footprint": "wide"
      },
      "release": "/characters/v2/seigyo/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/seigyo/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/seigyo/2.1.0/knowledge-base.json"
    },
    {
      "id": "kessho",
      "familyId": "kakera",
      "name": "Kesshō",
      "nameJa": "けっしょう",
      "verb": "結晶化する",
      "question": "何を形に残すんだろな？",
      "role": "固定・保存役",
      "summary": "流動的なものを枝分かれした結晶へ固定する。",
      "silhouette": "中央柱と枝晶の群れ",
      "motif": "結晶成長",
      "recommendedUses": [
        "セーブ地点",
        "成果物生成",
        "記憶の保存"
      ],
      "avoid": [
        "柔らかな餅型へ丸めない",
        "色替えだけで別個体にしない",
        "人型の手足や口を追加しない"
      ],
      "states": [
        "idle",
        "seed",
        "grow",
        "crystallize",
        "preserve",
        "melt-edge"
      ],
      "image": "/characters/platform/kakera/kessho.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "kessho",
        "familyId": "kakera",
        "purposes": [
          "creation",
          "system"
        ],
        "bodySystem": "faceted-crystal",
        "visualOrgan": "faceted-eyes",
        "motion": "pulse",
        "footprint": "tall"
      },
      "release": "/characters/v2/kessho/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/kessho/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/kessho/2.1.0/knowledge-base.json"
    },
    {
      "id": "kyori",
      "familyId": "kakera",
      "name": "Kyori",
      "nameJa": "きょり",
      "verb": "隔てる",
      "question": "どれくらい離せばいいんだろな？",
      "role": "距離と境界の設定役",
      "summary": "二つの板の間隔を変え、安全な境界をつくる。",
      "silhouette": "分離した二枚の浮遊板",
      "motif": "可変距離の点線",
      "recommendedUses": [
        "安全圏",
        "パーソナルスペース",
        "レイアウト補助"
      ],
      "avoid": [
        "柔らかな餅型へ丸めない",
        "色替えだけで別個体にしない",
        "人型の手足や口を追加しない"
      ],
      "states": [
        "idle",
        "separate",
        "measure-gap",
        "hold-boundary",
        "warn",
        "rejoin"
      ],
      "image": "/characters/platform/kakera/kyori.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "kyori",
        "familyId": "kakera",
        "purposes": [
          "safety",
          "system"
        ],
        "bodySystem": "faceted-crystal",
        "visualOrgan": "sensor-dots",
        "motion": "separate-overlap",
        "footprint": "wide"
      },
      "release": "/characters/v2/kyori/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/kyori/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/kyori/2.1.0/knowledge-base.json"
    },
    {
      "id": "kairo",
      "familyId": "kakera",
      "name": "Kairo",
      "nameJa": "かいろ",
      "verb": "導く",
      "question": "どの道を通るんだろな？",
      "role": "経路案内・循環役",
      "summary": "輪になった身体で入口と出口をつなぎ、進路を示す。",
      "silhouette": "矢印を含む環状結晶",
      "motif": "循環する経路",
      "recommendedUses": [
        "ナビゲーション",
        "ループゲーム",
        "オンボーディング"
      ],
      "avoid": [
        "柔らかな餅型へ丸めない",
        "色替えだけで別個体にしない",
        "人型の手足や口を追加しない"
      ],
      "states": [
        "idle",
        "seek-route",
        "mark-entry",
        "guide",
        "loop",
        "arrive"
      ],
      "image": "/characters/platform/kakera/kairo.png",
      "version": "2.1.0",
      "selectionFacets": {
        "characterId": "kairo",
        "familyId": "kakera",
        "purposes": [
          "guidance",
          "movement"
        ],
        "bodySystem": "faceted-crystal",
        "visualOrgan": "faceted-eyes",
        "motion": "rotate",
        "footprint": "compact"
      },
      "release": "/characters/v2/kairo/2.1.0/manifest.json",
      "aiIndex": "/characters/v2/kairo/2.1.0/ai-index.json",
      "fullKnowledge": "/characters/v2/kairo/2.1.0/knowledge-base.json"
    },
    {
      "id": "musubu",
      "familyId": "tools",
      "name": "Musubu",
      "nameJa": "むすぶ",
      "verb": "結ぶ",
      "question": "誰と誰を結ぶんだろな？",
      "role": "出会いと協力の接続役",
      "summary": "必要な時だけ開閉し、無理のない接点をつくる。",
      "silhouette": "横長スリットを持つ丸い留め具",
      "motif": "開閉できるクリップ",
      "recommendedUses": [
        "マッチング",
        "協力ゲーム",
        "チーム編成"
      ],
      "avoid": [
        "生体器官や内臓のように描かない",
        "全個体へ同じ大きな二つ目を追加しない",
        "色替えだけで別個体にしない"
      ],
      "states": [
        "idle",
        "notice-pair",
        "open",
        "connect",
        "check-comfort",
        "release"
      ],
      "image": "/characters/platform/tools/musubu.png",
      "version": "2.2.0",
      "selectionFacets": {
        "characterId": "musubu",
        "familyId": "tools",
        "purposes": [
          "communication",
          "creation"
        ],
        "bodySystem": "everyday-tool",
        "visualOrgan": "sensor-slit",
        "motion": "open-close",
        "footprint": "compact"
      },
      "release": "/characters/v2/musubu/2.2.0/manifest.json",
      "aiIndex": "/characters/v2/musubu/2.2.0/ai-index.json",
      "fullKnowledge": "/characters/v2/musubu/2.2.0/knowledge-base.json"
    },
    {
      "id": "hodoku",
      "familyId": "tools",
      "name": "Hodoku",
      "nameJa": "ほどく",
      "verb": "ほどく",
      "question": "どこからほどけばいいんだろな？",
      "role": "対立と混線の解消役",
      "summary": "三つのセンサーで端を探し、安全な方向へ整える。",
      "silhouette": "三点センサーを持つ丸歯のくし",
      "motif": "収納式の糸ほどき",
      "recommendedUses": [
        "対立解消",
        "問題整理",
        "パズルゲーム"
      ],
      "avoid": [
        "生体器官や内臓のように描かない",
        "全個体へ同じ大きな二つ目を追加しない",
        "色替えだけで別個体にしない"
      ],
      "states": [
        "idle",
        "inspect",
        "find-end",
        "lift",
        "smooth",
        "rest"
      ],
      "image": "/characters/platform/tools/hodoku.png",
      "version": "2.2.0",
      "selectionFacets": {
        "characterId": "hodoku",
        "familyId": "tools",
        "purposes": [
          "support",
          "decision"
        ],
        "bodySystem": "everyday-tool",
        "visualOrgan": "sensor-dots",
        "motion": "flow",
        "footprint": "wide"
      },
      "release": "/characters/v2/hodoku/2.2.0/manifest.json",
      "aiIndex": "/characters/v2/hodoku/2.2.0/ai-index.json",
      "fullKnowledge": "/characters/v2/hodoku/2.2.0/knowledge-base.json"
    },
    {
      "id": "watasu",
      "familyId": "tools",
      "name": "Watasu",
      "nameJa": "わたす",
      "verb": "渡す",
      "question": "何を、誰へ渡すんだろな？",
      "role": "情報と役割の引き継ぎ役",
      "summary": "受け取ったものを安定した小舟で次へ運ぶ。",
      "silhouette": "二つの小さな表示灯を持つ浅い小舟",
      "motif": "折り畳みトレイ",
      "recommendedUses": [
        "引き継ぎUI",
        "アイテム受け渡し",
        "ワークフロー"
      ],
      "avoid": [
        "生体器官や内臓のように描かない",
        "全個体へ同じ大きな二つ目を追加しない",
        "色替えだけで別個体にしない"
      ],
      "states": [
        "idle",
        "receive",
        "hold",
        "glide",
        "handoff",
        "confirm"
      ],
      "image": "/characters/platform/tools/watasu.png",
      "version": "2.2.0",
      "selectionFacets": {
        "characterId": "watasu",
        "familyId": "tools",
        "purposes": [
          "communication",
          "movement"
        ],
        "bodySystem": "everyday-tool",
        "visualOrgan": "indicator-lights",
        "motion": "flow",
        "footprint": "low"
      },
      "release": "/characters/v2/watasu/2.2.0/manifest.json",
      "aiIndex": "/characters/v2/watasu/2.2.0/ai-index.json",
      "fullKnowledge": "/characters/v2/watasu/2.2.0/knowledge-base.json"
    },
    {
      "id": "honyaku",
      "familyId": "tools",
      "name": "Honyaku",
      "nameJa": "ほんやく",
      "verb": "訳す",
      "question": "同じ意味は、どの言葉なんだろな？",
      "role": "言葉と意図の翻訳役",
      "summary": "二面の札を回転させ、意味の対応を揃える。",
      "silhouette": "中央レンズを持つ二面回転札",
      "motif": "表裏を合わせるピボット",
      "recommendedUses": [
        "多言語案内",
        "意図の要約",
        "異文化ゲーム"
      ],
      "avoid": [
        "生体器官や内臓のように描かない",
        "全個体へ同じ大きな二つ目を追加しない",
        "色替えだけで別個体にしない"
      ],
      "states": [
        "idle",
        "listen",
        "rotate",
        "align",
        "offer-translation",
        "verify"
      ],
      "image": "/characters/platform/tools/honyaku.png",
      "version": "2.2.0",
      "selectionFacets": {
        "characterId": "honyaku",
        "familyId": "tools",
        "purposes": [
          "communication",
          "guidance"
        ],
        "bodySystem": "everyday-tool",
        "visualOrgan": "single-lens",
        "motion": "rotate",
        "footprint": "wide"
      },
      "release": "/characters/v2/honyaku/2.2.0/manifest.json",
      "aiIndex": "/characters/v2/honyaku/2.2.0/ai-index.json",
      "fullKnowledge": "/characters/v2/honyaku/2.2.0/knowledge-base.json"
    },
    {
      "id": "hibiku",
      "familyId": "tools",
      "name": "Hibiku",
      "nameJa": "ひびく",
      "verb": "響く",
      "question": "どこまで気持ちが響くんだろな？",
      "role": "共感と反応の共鳴役",
      "summary": "三つの光点で振動を受け取り、静かな響きとして返す。",
      "silhouette": "三つの光点を持つ小さな白い鈴",
      "motif": "共鳴する陶器ベル",
      "recommendedUses": [
        "リアクション動画",
        "感情フィードバック",
        "音楽ゲーム"
      ],
      "avoid": [
        "生体器官や内臓のように描かない",
        "全個体へ同じ大きな二つ目を追加しない",
        "色替えだけで別個体にしない"
      ],
      "states": [
        "idle",
        "sense",
        "ring-softly",
        "resonate",
        "soft-return",
        "fade"
      ],
      "image": "/characters/platform/tools/hibiku.png",
      "version": "2.2.0",
      "selectionFacets": {
        "characterId": "hibiku",
        "familyId": "tools",
        "purposes": [
          "reaction",
          "communication"
        ],
        "bodySystem": "everyday-tool",
        "visualOrgan": "indicator-lights",
        "motion": "vibrate",
        "footprint": "compact"
      },
      "release": "/characters/v2/hibiku/2.2.0/manifest.json",
      "aiIndex": "/characters/v2/hibiku/2.2.0/ai-index.json",
      "fullKnowledge": "/characters/v2/hibiku/2.2.0/knowledge-base.json"
    },
    {
      "id": "sasou",
      "familyId": "tools",
      "name": "Sasou",
      "nameJa": "さそう",
      "verb": "誘う",
      "question": "どう誘えば入りやすいんだろな？",
      "role": "参加への入口づくり役",
      "summary": "細い視覚線で様子を見ながら、断る余白のある入口を開く。",
      "silhouette": "細い視覚線を持つ半開きの扉",
      "motif": "折り畳みウェルカムマーカー",
      "recommendedUses": [
        "オンボーディング",
        "クエスト開始",
        "コミュニティ参加"
      ],
      "avoid": [
        "生体器官や内臓のように描かない",
        "全個体へ同じ大きな二つ目を追加しない",
        "色替えだけで別個体にしない"
      ],
      "states": [
        "idle",
        "crack-open",
        "signal",
        "invite",
        "wait-choice",
        "welcome"
      ],
      "image": "/characters/platform/tools/sasou.png",
      "version": "2.2.0",
      "selectionFacets": {
        "characterId": "sasou",
        "familyId": "tools",
        "purposes": [
          "guidance",
          "communication"
        ],
        "bodySystem": "everyday-tool",
        "visualOrgan": "sensor-slit",
        "motion": "open-close",
        "footprint": "tall"
      },
      "release": "/characters/v2/sasou/2.2.0/manifest.json",
      "aiIndex": "/characters/v2/sasou/2.2.0/ai-index.json",
      "fullKnowledge": "/characters/v2/sasou/2.2.0/knowledge-base.json"
    },
    {
      "id": "sasaeru",
      "familyId": "tools",
      "name": "Sasaeru",
      "nameJa": "ささえる",
      "verb": "支える",
      "question": "どこを支えれば楽になるんだろな？",
      "role": "協働と補助の支持役",
      "summary": "閉じた感知線を保ったまま、必要な分だけ柔らかく沈む。",
      "silhouette": "閉じた曲線を持つ低いクッション",
      "motif": "角に印のある支持パッド",
      "recommendedUses": [
        "アクセシビリティ補助",
        "協力NPC",
        "カスタマーサポート"
      ],
      "avoid": [
        "生体器官や内臓のように描かない",
        "全個体へ同じ大きな二つ目を追加しない",
        "色替えだけで別個体にしない"
      ],
      "states": [
        "idle",
        "notice-strain",
        "move-under",
        "support",
        "balance",
        "release"
      ],
      "image": "/characters/platform/tools/sasaeru.png",
      "version": "2.2.0",
      "selectionFacets": {
        "characterId": "sasaeru",
        "familyId": "tools",
        "purposes": [
          "support",
          "safety"
        ],
        "bodySystem": "everyday-tool",
        "visualOrgan": "signal-line",
        "motion": "squash",
        "footprint": "low"
      },
      "release": "/characters/v2/sasaeru/2.2.0/manifest.json",
      "aiIndex": "/characters/v2/sasaeru/2.2.0/ai-index.json",
      "fullKnowledge": "/characters/v2/sasaeru/2.2.0/knowledge-base.json"
    },
    {
      "id": "meguru",
      "familyId": "tools",
      "name": "Meguru",
      "nameJa": "めぐる",
      "verb": "巡らせる",
      "question": "どこで流れが止まってるんだろな？",
      "role": "会話と資源の循環役",
      "summary": "中央レンズで流れを見ながら、五枚の羽根をゆっくり回す。",
      "silhouette": "中央レンズを持つ五枚羽根の水車",
      "motif": "巡回位置を示すミント印",
      "recommendedUses": [
        "ターン管理",
        "循環型UI",
        "コミュニティ運営"
      ],
      "avoid": [
        "生体器官や内臓のように描かない",
        "全個体へ同じ大きな二つ目を追加しない",
        "色替えだけで別個体にしない"
      ],
      "states": [
        "idle",
        "scan-flow",
        "find-block",
        "circulate",
        "balance-loop",
        "complete-cycle"
      ],
      "image": "/characters/platform/tools/meguru.png",
      "version": "2.2.0",
      "selectionFacets": {
        "characterId": "meguru",
        "familyId": "tools",
        "purposes": [
          "movement",
          "system"
        ],
        "bodySystem": "everyday-tool",
        "visualOrgan": "single-lens",
        "motion": "rotate",
        "footprint": "wide"
      },
      "release": "/characters/v2/meguru/2.2.0/manifest.json",
      "aiIndex": "/characters/v2/meguru/2.2.0/ai-index.json",
      "fullKnowledge": "/characters/v2/meguru/2.2.0/knowledge-base.json"
    },
    {
      "id": "kasanaru",
      "familyId": "tools",
      "name": "Kasanaru",
      "nameJa": "かさなる",
      "verb": "重ねる",
      "question": "どこを重ねたら一緒になるんだろな？",
      "role": "共同制作と合成の重なり役",
      "summary": "二枚の違いを残し、重なった時だけ共有点を示す。",
      "silhouette": "台座に立つ二枚の半透明な写し板",
      "motif": "重なりで現れる菱形センサー",
      "recommendedUses": [
        "共同編集",
        "合成クラフト",
        "アイデア統合"
      ],
      "avoid": [
        "生体器官や内臓のように描かない",
        "全個体へ同じ大きな二つ目を追加しない",
        "色替えだけで別個体にしない"
      ],
      "states": [
        "idle",
        "approach",
        "compare",
        "overlap",
        "co-create",
        "separate-cleanly"
      ],
      "image": "/characters/platform/tools/kasanaru.png",
      "version": "2.2.0",
      "selectionFacets": {
        "characterId": "kasanaru",
        "familyId": "tools",
        "purposes": [
          "creation",
          "communication"
        ],
        "bodySystem": "everyday-tool",
        "visualOrgan": "sensor-dots",
        "motion": "separate-overlap",
        "footprint": "wide"
      },
      "release": "/characters/v2/kasanaru/2.2.0/manifest.json",
      "aiIndex": "/characters/v2/kasanaru/2.2.0/ai-index.json",
      "fullKnowledge": "/characters/v2/kasanaru/2.2.0/knowledge-base.json"
    },
    {
      "id": "tsutsumu",
      "familyId": "tools",
      "name": "Tsutsumu",
      "nameJa": "つつむ",
      "verb": "包む",
      "question": "どこまで包めば安心なんだろな？",
      "role": "安心と一時保護の包容役",
      "summary": "必要な間だけ蓋を開き、回復後は自ら内容を返す。",
      "silhouette": "開いた時だけ表示灯が現れる封筒ケース",
      "motif": "ミント封印の保護ケース",
      "recommendedUses": [
        "セーフエリア",
        "休息演出",
        "コンテンツ保護"
      ],
      "avoid": [
        "生体器官や内臓のように描かない",
        "全個体へ同じ大きな二つ目を追加しない",
        "色替えだけで別個体にしない"
      ],
      "states": [
        "idle",
        "notice-need",
        "open",
        "shelter",
        "keep-safe",
        "reopen"
      ],
      "image": "/characters/platform/tools/tsutsumu.png",
      "version": "2.2.0",
      "selectionFacets": {
        "characterId": "tsutsumu",
        "familyId": "tools",
        "purposes": [
          "safety",
          "support"
        ],
        "bodySystem": "everyday-tool",
        "visualOrgan": "indicator-lights",
        "motion": "open-close",
        "footprint": "compact"
      },
      "release": "/characters/v2/tsutsumu/2.2.0/manifest.json",
      "aiIndex": "/characters/v2/tsutsumu/2.2.0/ai-index.json",
      "fullKnowledge": "/characters/v2/tsutsumu/2.2.0/knowledge-base.json"
    },
    {
      "id": "kazemichi",
      "familyId": "weather",
      "name": "Kazemichi",
      "nameJa": "かぜみち",
      "verb": "先をなびく",
      "question": "次の風は、どちらへ抜けるんだろな？",
      "role": "風向と移動予兆の可視化役",
      "summary": "まだ見えない風の進路を、細い帯の向きと長さで少し先に知らせる。",
      "silhouette": "三本の長さが異なる流線を束ねた横長の吹流し",
      "motif": "風向帯と小さな矢羽",
      "recommendedUses": [
        "移動予告",
        "ステルス中の風向表示",
        "飛翔ゲームの補助"
      ],
      "avoid": [
        "確定経路として表示しない",
        "竜巻や刃のような攻撃形にしない",
        "目や口を追加しない"
      ],
      "states": [
        "calm",
        "sense-draft",
        "point",
        "gust",
        "crosswind",
        "fade"
      ],
      "image": "/characters/platform/weather/kazemichi.png",
      "version": "2.3.0",
      "selectionFacets": {
        "characterId": "kazemichi",
        "familyId": "weather",
        "purposes": [
          "movement",
          "guidance"
        ],
        "bodySystem": "field-phenomenon",
        "visualOrgan": "signal-line",
        "motion": "stream",
        "footprint": "wide"
      },
      "release": "/characters/v2/kazemichi/2.3.0/manifest.json",
      "aiIndex": "/characters/v2/kazemichi/2.3.0/ai-index.json",
      "fullKnowledge": "/characters/v2/kazemichi/2.3.0/knowledge-base.json"
    },
    {
      "id": "amatsugi",
      "familyId": "weather",
      "name": "Amatsugi",
      "nameJa": "あまつぎ",
      "verb": "間を降らす",
      "question": "次の雨間は、いつ開くんだろな？",
      "role": "断続イベントの時間窓提示役",
      "summary": "滴の列と空いた間隔で、雨や周期イベントの開始・停止・猶予を伝える。",
      "silhouette": "縦に連なる三滴と、その間に浮く小さな空白環",
      "motif": "雨脚の間隔とタイムスロット",
      "recommendedUses": [
        "イベントタイマー",
        "攻撃フェーズ予告",
        "配信の進行表示"
      ],
      "avoid": [
        "単なる時計アイコンにしない",
        "涙や悲しみの記号へ固定しない",
        "二つ目を追加しない"
      ],
      "states": [
        "dry",
        "first-drop",
        "interval",
        "shower",
        "rain-gap",
        "clear"
      ],
      "image": "/characters/platform/weather/amatsugi.png",
      "version": "2.3.0",
      "selectionFacets": {
        "characterId": "amatsugi",
        "familyId": "weather",
        "purposes": [
          "system",
          "guidance"
        ],
        "bodySystem": "field-phenomenon",
        "visualOrgan": "sensor-dots",
        "motion": "fall",
        "footprint": "tall"
      },
      "release": "/characters/v2/amatsugi/2.3.0/manifest.json",
      "aiIndex": "/characters/v2/amatsugi/2.3.0/ai-index.json",
      "fullKnowledge": "/characters/v2/amatsugi/2.3.0/knowledge-base.json"
    },
    {
      "id": "kirima",
      "familyId": "weather",
      "name": "Kirima",
      "nameJa": "きりま",
      "verb": "見え幅を変える",
      "question": "どこまでなら、見えているんだろな？",
      "role": "可視範囲と不確実性の制御役",
      "summary": "重なる霧の層を開閉し、見える範囲と推測に留める範囲を分ける。",
      "silhouette": "高さの違う三枚の半透明な水平霧層",
      "motif": "霧の密度窓と一本の観測スリット",
      "recommendedUses": [
        "視界制限",
        "未探索領域",
        "情報の伏せ表示"
      ],
      "avoid": [
        "煙や毒ガスとして固定しない",
        "画面全体を読めなくしない",
        "人間的な顔を描かない"
      ],
      "states": [
        "thin",
        "gather",
        "veil",
        "dense",
        "window",
        "dissolve"
      ],
      "image": "/characters/platform/weather/kirima.png",
      "version": "2.3.0",
      "selectionFacets": {
        "characterId": "kirima",
        "familyId": "weather",
        "purposes": [
          "detection",
          "system"
        ],
        "bodySystem": "field-phenomenon",
        "visualOrgan": "sensor-slit",
        "motion": "drift",
        "footprint": "wide"
      },
      "release": "/characters/v2/kirima/2.3.0/manifest.json",
      "aiIndex": "/characters/v2/kirima/2.3.0/ai-index.json",
      "fullKnowledge": "/characters/v2/kirima/2.3.0/knowledge-base.json"
    },
    {
      "id": "inabika",
      "familyId": "weather",
      "name": "Inabika",
      "nameJa": "いなびか",
      "verb": "閃く前に知らせる",
      "question": "光る前に、どこへ退けばいいんだろな？",
      "role": "瞬発危険の段階予告役",
      "summary": "細い光が枝分かれする段階で、落雷や瞬発イベントの場所と猶予を知らせる。",
      "silhouette": "地面へ届く直前で三叉に分かれる細長い光柱",
      "motif": "予兆パルスと接地点の光環",
      "recommendedUses": [
        "危険テレグラフ",
        "リズム入力予告",
        "配信の瞬間演出"
      ],
      "avoid": [
        "点滅だけに依存しない",
        "攻撃そのものを主役にしない",
        "恐怖表情や歯を付けない"
      ],
      "states": [
        "quiet",
        "charge",
        "mark-ground",
        "preflash",
        "strike",
        "afterglow"
      ],
      "image": "/characters/platform/weather/inabika.png",
      "version": "2.3.0",
      "selectionFacets": {
        "characterId": "inabika",
        "familyId": "weather",
        "purposes": [
          "safety",
          "reaction"
        ],
        "bodySystem": "field-phenomenon",
        "visualOrgan": "indicator-lights",
        "motion": "flash",
        "footprint": "tall"
      },
      "release": "/characters/v2/inabika/2.3.0/manifest.json",
      "aiIndex": "/characters/v2/inabika/2.3.0/ai-index.json",
      "fullKnowledge": "/characters/v2/inabika/2.3.0/knowledge-base.json"
    },
    {
      "id": "setsumon",
      "familyId": "weather",
      "name": "Setsumon",
      "nameJa": "せつもん",
      "verb": "跡を残す",
      "question": "ここを通ったのは、いつ頃なんだろな？",
      "role": "時間で薄れる通過痕跡の記録役",
      "summary": "雪面の窪みと結晶の崩れ方で、誰かが通った方向と経過時間を残す。",
      "silhouette": "低い雪面に斜めの足跡孔が三つ続く帯",
      "motif": "融けて薄れるトラック",
      "recommendedUses": [
        "追跡ゲーム",
        "行動履歴",
        "一時的な足跡UI"
      ],
      "avoid": [
        "永久保存の印にしない",
        "既存キャラの足型をそのまま使わない",
        "目や顔を付けない"
      ],
      "states": [
        "fresh",
        "second-mark",
        "trail",
        "covered",
        "melt",
        "gone"
      ],
      "image": "/characters/platform/weather/setsumon.png",
      "version": "2.3.0",
      "selectionFacets": {
        "characterId": "setsumon",
        "familyId": "weather",
        "purposes": [
          "detection",
          "system"
        ],
        "bodySystem": "field-phenomenon",
        "visualOrgan": "no-eyes",
        "motion": "accumulate-melt",
        "footprint": "low"
      },
      "release": "/characters/v2/setsumon/2.3.0/manifest.json",
      "aiIndex": "/characters/v2/setsumon/2.3.0/ai-index.json",
      "fullKnowledge": "/characters/v2/setsumon/2.3.0/knowledge-base.json"
    },
    {
      "id": "terika",
      "familyId": "weather",
      "name": "Terika",
      "nameJa": "てりか",
      "verb": "照らし分ける",
      "question": "どこを照らせば、見つけられるんだろな？",
      "role": "発見と回復の局所照明役",
      "summary": "細い光の扇を動かし、隠れた対象を示す範囲と休める暖かな範囲を作る。",
      "silhouette": "上部の小さな光核から扇形の光床が広がる三角形",
      "motif": "日差しのスポットと色温度",
      "recommendedUses": [
        "探索スポット",
        "回復ゾーン",
        "舞台・配信照明"
      ],
      "avoid": [
        "既存の単眼キャラに見せない",
        "常に全域を照らさない",
        "宗教的な光輪に固定しない"
      ],
      "states": [
        "dim",
        "seek",
        "narrow-beam",
        "reveal",
        "warm-zone",
        "set"
      ],
      "image": "/characters/platform/weather/terika.png",
      "version": "2.3.0",
      "selectionFacets": {
        "characterId": "terika",
        "familyId": "weather",
        "purposes": [
          "detection",
          "support"
        ],
        "bodySystem": "field-phenomenon",
        "visualOrgan": "single-light",
        "motion": "sweep",
        "footprint": "wide"
      },
      "release": "/characters/v2/terika/2.3.0/manifest.json",
      "aiIndex": "/characters/v2/terika/2.3.0/ai-index.json",
      "fullKnowledge": "/characters/v2/terika/2.3.0/knowledge-base.json"
    },
    {
      "id": "nijimi",
      "familyId": "weather",
      "name": "Nijimi",
      "nameJa": "にじみ",
      "verb": "色に分ける",
      "question": "この状態は、どの色の間なんだろな？",
      "role": "複合状態のスペクトラム分類役",
      "summary": "一本の光を複数の色帯へ分け、混ざった属性や状態の比率を同時に見せる。",
      "silhouette": "白い小さなプリズム孔から弧状の五色帯が伸びる橋",
      "motif": "分光帯と境界のぼかし",
      "recommendedUses": [
        "属性表示",
        "感情ミックス",
        "アクセシブルな状態凡例"
      ],
      "avoid": [
        "色だけを唯一の情報にしない",
        "硬い結晶体にしない",
        "虹へ顔を付けない"
      ],
      "states": [
        "white",
        "split",
        "spectrum",
        "blend",
        "flag",
        "recombine"
      ],
      "image": "/characters/platform/weather/nijimi.png",
      "version": "2.3.0",
      "selectionFacets": {
        "characterId": "nijimi",
        "familyId": "weather",
        "purposes": [
          "system",
          "communication"
        ],
        "bodySystem": "field-phenomenon",
        "visualOrgan": "spectrum-band",
        "motion": "refract",
        "footprint": "wide"
      },
      "release": "/characters/v2/nijimi/2.3.0/manifest.json",
      "aiIndex": "/characters/v2/nijimi/2.3.0/ai-index.json",
      "fullKnowledge": "/characters/v2/nijimi/2.3.0/knowledge-base.json"
    },
    {
      "id": "kumokage",
      "familyId": "weather",
      "name": "Kumokage",
      "nameJa": "くもかげ",
      "verb": "影を運ぶ",
      "question": "どこまで隠せば、動きやすいんだろな？",
      "role": "移動する一時遮蔽の生成役",
      "summary": "薄い雲板と落ちる影を一緒に動かし、短時間だけ見つかりにくい経路を作る。",
      "silhouette": "ずれた二枚の雲板と、その下を滑る楕円の影",
      "motif": "雲量と移動する影床",
      "recommendedUses": [
        "ステルス遮蔽",
        "休憩地点",
        "照明トランジション"
      ],
      "avoid": [
        "永続バリアにしない",
        "黒い不穏な顔を描かない",
        "クッション型へ丸めない"
      ],
      "states": [
        "small-cover",
        "gather",
        "cast",
        "travel",
        "thin",
        "open-sky"
      ],
      "image": "/characters/platform/weather/kumokage.png",
      "version": "2.3.0",
      "selectionFacets": {
        "characterId": "kumokage",
        "familyId": "weather",
        "purposes": [
          "safety",
          "movement"
        ],
        "bodySystem": "field-phenomenon",
        "visualOrgan": "no-eyes",
        "motion": "drift",
        "footprint": "wide"
      },
      "release": "/characters/v2/kumokage/2.3.0/manifest.json",
      "aiIndex": "/characters/v2/kumokage/2.3.0/ai-index.json",
      "fullKnowledge": "/characters/v2/kumokage/2.3.0/knowledge-base.json"
    },
    {
      "id": "atsudama",
      "familyId": "weather",
      "name": "Atsudama",
      "nameJa": "あつだま",
      "verb": "圧をためる",
      "question": "あとどれくらいで、ほどけるんだろな？",
      "role": "蓄積と解放の予測メーター役",
      "summary": "同心の空気膜が縮むほど圧が高まり、解放までの余裕と向きを見せる。",
      "silhouette": "中心点を囲む三重の不均等な空気膜",
      "motif": "等圧線と逃がし弁の切れ目",
      "recommendedUses": [
        "チャージ表示",
        "天候変化予告",
        "混雑・負荷の可視化"
      ],
      "avoid": [
        "爆弾や武器の形にしない",
        "数値だけに依存しない",
        "丸い二つ目を付けない"
      ],
      "states": [
        "loose",
        "compress",
        "high",
        "vent-mark",
        "release",
        "equalize"
      ],
      "image": "/characters/platform/weather/atsudama.png",
      "version": "2.3.0",
      "selectionFacets": {
        "characterId": "atsudama",
        "familyId": "weather",
        "purposes": [
          "system",
          "safety"
        ],
        "bodySystem": "field-phenomenon",
        "visualOrgan": "pressure-ring",
        "motion": "compress-release",
        "footprint": "compact"
      },
      "release": "/characters/v2/atsudama/2.3.0/manifest.json",
      "aiIndex": "/characters/v2/atsudama/2.3.0/ai-index.json",
      "fullKnowledge": "/characters/v2/atsudama/2.3.0/knowledge-base.json"
    },
    {
      "id": "kageri",
      "familyId": "weather",
      "name": "Kageri",
      "nameJa": "かげり",
      "verb": "像をゆらす",
      "question": "そこにあるように見えるけど、本当なんだろな？",
      "role": "蜃気楼と囮像の識別訓練役",
      "summary": "熱の波で輪郭を複製・ずらし、実像と予測像の違いを安全に練習させる。",
      "silhouette": "縦に揺れる三本の熱波と、半歩ずれた二つの空輪郭",
      "motif": "陽炎の複像と基準線",
      "recommendedUses": [
        "囮ギミック",
        "AR校正",
        "映像トランジション"
      ],
      "avoid": [
        "実在情報の偽装に使わない",
        "ホラーの人影にしない",
        "大きな生物眼を付けない"
      ],
      "states": [
        "still-air",
        "heat-rise",
        "duplicate",
        "offset",
        "compare-line",
        "resolve"
      ],
      "image": "/characters/platform/weather/kageri.png",
      "version": "2.3.0",
      "selectionFacets": {
        "characterId": "kageri",
        "familyId": "weather",
        "purposes": [
          "decision",
          "reaction"
        ],
        "bodySystem": "field-phenomenon",
        "visualOrgan": "reference-line",
        "motion": "shimmer",
        "footprint": "tall"
      },
      "release": "/characters/v2/kageri/2.3.0/manifest.json",
      "aiIndex": "/characters/v2/kageri/2.3.0/ai-index.json",
      "fullKnowledge": "/characters/v2/kageri/2.3.0/knowledge-base.json"
    }
  ]
}
