{
  "$schema": "/characters/v2/schemas/release.schema.json",
  "schemaVersion": "2.0.0",
  "kind": "nandarona.public-character-release",
  "releaseId": "kageri@2.3.0",
  "characterId": "kageri",
  "familyId": "weather",
  "version": "2.3.0",
  "releasedAt": "2026-07-30",
  "status": "published",
  "immutable": true,
  "pageUrl": "/characters/kageri/",
  "license": {
    "id": "CC-BY-4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "Nandarona character platform / https://nandarona.com/characters/",
    "noEndorsement": true
  },
  "designBoundaries": {
    "commonDNA": [
      "a clear visual organ or signal shows quiet attention",
      "mouthless by default",
      "warm ink-black construction or hand-drawn outline",
      "quiet curiosity before certainty",
      "simple silhouette readable at UI-icon scale"
    ],
    "familyDNA": [
      "固定した生物顔を持たず、光・点群・スリット・単眼・無顔を使い分ける",
      "白を基調に、墨色の輪郭とミント・藤・淡黄・水色の気象信号を使う",
      "輪郭は現象に由来し、同じ丸胴体への装飾差分にしない",
      "表情は口ではなく、密度・方向・明滅・層・軌跡・色帯で示す",
      "役割は環境の予告・時間窓・可視性・痕跡・遮蔽に限定する"
    ],
    "individualDNA": [
      "そこにあるように見えるけど、本当なんだろな？",
      "蜃気楼と囮像の識別訓練役",
      "縦に揺れる三本の熱波と、半歩ずれた二つの空輪郭",
      "陽炎の複像と基準線"
    ]
  },
  "files": [
    {
      "role": "profile",
      "path": "profile.json",
      "url": "/characters/v2/kageri/2.3.0/profile.json",
      "mediaType": "application/json",
      "bytes": 1717,
      "sha256": "fac19f820f2cc5186726696cce251e0be8d8fcda7cabc524b27db0619548c55a"
    },
    {
      "role": "knowledge-base",
      "path": "knowledge-base.json",
      "url": "/characters/v2/kageri/2.3.0/knowledge-base.json",
      "mediaType": "application/json",
      "bytes": 9553,
      "sha256": "b49185c24c4787bce632fb47560bc1c111248e118d7b6024749670c31dd2887a"
    },
    {
      "role": "ai-index",
      "path": "ai-index.json",
      "url": "/characters/v2/kageri/2.3.0/ai-index.json",
      "mediaType": "application/json",
      "bytes": 1198,
      "sha256": "61573076862453a65cdc10aec2d5d1b4caf233f9415bc308d82f4210ab2939ff"
    },
    {
      "role": "prompt-pack",
      "path": "prompt-pack.json",
      "url": "/characters/v2/kageri/2.3.0/prompt-pack.json",
      "mediaType": "application/json",
      "bytes": 2687,
      "sha256": "0e2f202b9e8ade37a41d46f42ff8a58cd28aa13858433756d9b0b8b5622764a8"
    },
    {
      "role": "state-machine",
      "path": "state-machine.json",
      "url": "/characters/v2/kageri/2.3.0/state-machine.json",
      "mediaType": "application/json",
      "bytes": 2639,
      "sha256": "a0d44dc50e38129cb383c8d387e084f18cbcfba0c2e0b78ad50d66cbbd85c76e"
    },
    {
      "role": "use-profiles",
      "path": "use-profiles.json",
      "url": "/characters/v2/kageri/2.3.0/use-profiles.json",
      "mediaType": "application/json",
      "bytes": 2118,
      "sha256": "dae05efdf42e01f576d685b96160af48f088ec5e544e293275c14bf2b1768f7e"
    },
    {
      "role": "asset-provenance",
      "path": "asset-provenance.json",
      "url": "/characters/v2/kageri/2.3.0/asset-provenance.json",
      "mediaType": "application/json",
      "bytes": 1717,
      "sha256": "a692316178336b81ba5d9c959d686978f2f17164073b4674aa09b4ead28c2f65"
    },
    {
      "role": "RIGHTS",
      "path": "RIGHTS.md",
      "url": "/characters/v2/kageri/2.3.0/RIGHTS.md",
      "mediaType": "text/markdown",
      "bytes": 462,
      "sha256": "e833763b3fd5606cd2d218a869b03c4f4c4d2a1afdc8e0db044846aa742059ed"
    },
    {
      "role": "ATTRIBUTION",
      "path": "ATTRIBUTION.md",
      "url": "/characters/v2/kageri/2.3.0/ATTRIBUTION.md",
      "mediaType": "text/markdown",
      "bytes": 174,
      "sha256": "42c749a3b752177fa14e585ac8c9549f053faaad133c74dff3bd5e00417b94a3"
    },
    {
      "role": "PRODUCTION-GUIDE",
      "path": "PRODUCTION-GUIDE.md",
      "url": "/characters/v2/kageri/2.3.0/PRODUCTION-GUIDE.md",
      "mediaType": "text/markdown",
      "bytes": 1298,
      "sha256": "dc0ab1b91c642b7962221915e113f08d4286175cc64be51983bc705a57cf34f9"
    },
    {
      "role": "CHANGELOG",
      "path": "CHANGELOG.md",
      "url": "/characters/v2/kageri/2.3.0/CHANGELOG.md",
      "mediaType": "text/markdown",
      "bytes": 392,
      "sha256": "a81b229a5ad57691b84222b7f282eae41113c0a6d97854b785ad5687ef78c2c4"
    },
    {
      "role": "gameplay-runtime",
      "path": "gameplay-runtime.json",
      "url": "/characters/v2/kageri/2.3.0/gameplay-runtime.json",
      "mediaType": "application/json",
      "bytes": 4269,
      "sha256": "c2e17c2cfab887846282cf13a77e642b45a0c86bcd6a2ceef3f384e242d5e125"
    },
    {
      "role": "media-kageri-expressions-v1",
      "path": "media/kageri-expressions-v1.png",
      "url": "/characters/v2/kageri/2.3.0/media/kageri-expressions-v1.png",
      "mediaType": "image/png",
      "bytes": 814880,
      "sha256": "eb1645ee346f11670574e2d62b9cbdcf1eb2030ffc40eac0453111d2a660a009"
    },
    {
      "role": "media-kageri-reference-v1",
      "path": "media/kageri-reference-v1.png",
      "url": "/characters/v2/kageri/2.3.0/media/kageri-reference-v1.png",
      "mediaType": "image/png",
      "bytes": 131177,
      "sha256": "da2e14bcd4d376e15e93109fcebb09b39187e838c6b54f4397726f13fc3f419c"
    },
    {
      "role": "media-frames-still-air",
      "path": "media/frames/still-air.png",
      "url": "/characters/v2/kageri/2.3.0/media/frames/still-air.png",
      "mediaType": "image/png",
      "bytes": 131177,
      "sha256": "da2e14bcd4d376e15e93109fcebb09b39187e838c6b54f4397726f13fc3f419c"
    },
    {
      "role": "media-frames-still-air",
      "path": "media/frames/still-air.webp",
      "url": "/characters/v2/kageri/2.3.0/media/frames/still-air.webp",
      "mediaType": "text/markdown",
      "bytes": 8526,
      "sha256": "6820be38892d2d55cd857e86efc52c495601492ddc1c8e77e71b2bfcf99d1684"
    },
    {
      "role": "media-frames-heat-rise",
      "path": "media/frames/heat-rise.png",
      "url": "/characters/v2/kageri/2.3.0/media/frames/heat-rise.png",
      "mediaType": "image/png",
      "bytes": 151692,
      "sha256": "6b252b02477e3374297ab677f50a17e4303d8707aacfa843ad743b400a349bf8"
    },
    {
      "role": "media-frames-heat-rise",
      "path": "media/frames/heat-rise.webp",
      "url": "/characters/v2/kageri/2.3.0/media/frames/heat-rise.webp",
      "mediaType": "text/markdown",
      "bytes": 9740,
      "sha256": "38e8388f0a1f19b4a6019a32a5ec9c057fb4aedf0d6b87577aca88a3b9a3bf39"
    },
    {
      "role": "media-frames-duplicate",
      "path": "media/frames/duplicate.png",
      "url": "/characters/v2/kageri/2.3.0/media/frames/duplicate.png",
      "mediaType": "image/png",
      "bytes": 143680,
      "sha256": "5ff4d929b5298d93a084f34193bb0cd1d5764c98a295f9c26b6f1e239c1d348f"
    },
    {
      "role": "media-frames-duplicate",
      "path": "media/frames/duplicate.webp",
      "url": "/characters/v2/kageri/2.3.0/media/frames/duplicate.webp",
      "mediaType": "text/markdown",
      "bytes": 9868,
      "sha256": "aed9449759469330643fd0313b6ba03bfbfca6b982e47aeaa9f1f1ee078a4199"
    },
    {
      "role": "media-frames-offset",
      "path": "media/frames/offset.png",
      "url": "/characters/v2/kageri/2.3.0/media/frames/offset.png",
      "mediaType": "image/png",
      "bytes": 141676,
      "sha256": "dd096a59cedb76afdc633d9923eefdc0d384c98ecf5ba7f6fc22ada35386a186"
    },
    {
      "role": "media-frames-offset",
      "path": "media/frames/offset.webp",
      "url": "/characters/v2/kageri/2.3.0/media/frames/offset.webp",
      "mediaType": "text/markdown",
      "bytes": 10042,
      "sha256": "b997b2d09b0dc9fb1d4eb9bde8247d92dc01dbc3f8f0d30a058a6d9baf259b0e"
    },
    {
      "role": "media-frames-compare-line",
      "path": "media/frames/compare-line.png",
      "url": "/characters/v2/kageri/2.3.0/media/frames/compare-line.png",
      "mediaType": "image/png",
      "bytes": 136000,
      "sha256": "8fb0f3c51fe9ac7e0c6881aed72c30fb5d542ac42438dcd9adcec9866d8bcd60"
    },
    {
      "role": "media-frames-compare-line",
      "path": "media/frames/compare-line.webp",
      "url": "/characters/v2/kageri/2.3.0/media/frames/compare-line.webp",
      "mediaType": "text/markdown",
      "bytes": 8722,
      "sha256": "70565f93a4a18bc85c31988d791233e7e1ec81a45ab0e5cb8ce988bc7802f41e"
    },
    {
      "role": "media-frames-resolve",
      "path": "media/frames/resolve.png",
      "url": "/characters/v2/kageri/2.3.0/media/frames/resolve.png",
      "mediaType": "image/png",
      "bytes": 122142,
      "sha256": "bbcd248acfa7e6e7bedaa6cc47a8e8c489c3d96238363c39908011266bd48eca"
    },
    {
      "role": "media-frames-resolve",
      "path": "media/frames/resolve.webp",
      "url": "/characters/v2/kageri/2.3.0/media/frames/resolve.webp",
      "mediaType": "text/markdown",
      "bytes": 7418,
      "sha256": "7f871ee69b25199f3cee58bb4fb62fcb79bc60fdc41edfede0d680477aaa89c9"
    }
  ]
}
