{
  "$schema": "/characters/v2/schemas/release.schema.json",
  "schemaVersion": "2.0.0",
  "kind": "nandarona.public-character-release",
  "releaseId": "nerisaki@2.9.0",
  "characterId": "nerisaki",
  "familyId": "input",
  "version": "2.9.0",
  "releasedAt": "2026-07-30",
  "status": "published",
  "immutable": true,
  "pageUrl": "/characters/nerisaki/",
  "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",
      "deep navy construction or hand-drawn outline",
      "quiet curiosity before certainty",
      "simple silhouette readable at UI-icon scale"
    ],
    "familyDNA": [
      "濃紺の構造線と白い入力面を共有し、受付点だけ淡いミント、藤、珊瑚、黄で示す",
      "視覚器官を押し窪み、保持環、二連膜、回数櫛、方向珠、搬送籠、回転節、収束叉、拍節、同時橋へ分散する",
      "感覚眼を単眼レンズ、縦スリット、非対称小眼、点列眼、方向眼、三点感覚、中央孔眼、叉先眼、拍眼、異形対眼へ分散し、同じ大きな二つ目へ統一しない",
      "各個体に跳ねる、伸びる、交互に弾む、這う、滑る、運ぶ、転がる、浮く、刻む、寄り添うの固有移動予兆を持たせる",
      "入力前、受付、継続、成立、取消、復帰を六つの静止輪郭でも判別できる",
      "キーボード、ゲームパッド、タッチ、マウスの特定製品形状へ固定せず入力意味を抽象化する",
      "32px相当でも方向、回数、保持量、対象、時間窓、同時性を色や点滅だけに頼らず読める"
    ],
    "individualDNA": [
      "どの幅なら、狙いと確定を別々に見せられるんだろな？",
      "照準移動と別入力確定役",
      "中心を空けた三本の非対称収束叉と小さな対象孔",
      "収束叉と確定接続。三本の叉先に一つずつある長短の違う細眼。三叉を脚兼ひれとして交互に畳み、中心を浮かせて移動する"
    ]
  },
  "files": [
    {
      "role": "profile",
      "path": "profile.json",
      "url": "/characters/v2/nerisaki/2.9.0/profile.json",
      "mediaType": "application/json",
      "bytes": 2460,
      "sha256": "d4957b627dad13815370e1d70baef4ae57b0eb360e96dab2649ab1e6678ca710"
    },
    {
      "role": "knowledge-base",
      "path": "knowledge-base.json",
      "url": "/characters/v2/nerisaki/2.9.0/knowledge-base.json",
      "mediaType": "application/json",
      "bytes": 10549,
      "sha256": "ba08a698f076e257058f94ae54f3188352375fc77537dc47cd3aaeb1fa7f1f6b"
    },
    {
      "role": "ai-index",
      "path": "ai-index.json",
      "url": "/characters/v2/nerisaki/2.9.0/ai-index.json",
      "mediaType": "application/json",
      "bytes": 1373,
      "sha256": "e98ad28c28de36c1e267f768db64bd2a7b36883022b42369b2461dc676381683"
    },
    {
      "role": "prompt-pack",
      "path": "prompt-pack.json",
      "url": "/characters/v2/nerisaki/2.9.0/prompt-pack.json",
      "mediaType": "application/json",
      "bytes": 2895,
      "sha256": "831c312ead4f9ca642b3428eece8839e11120683ea16e7ae915ada78d9dfe6bb"
    },
    {
      "role": "state-machine",
      "path": "state-machine.json",
      "url": "/characters/v2/nerisaki/2.9.0/state-machine.json",
      "mediaType": "application/json",
      "bytes": 2708,
      "sha256": "27c74e271127f48540565226877e2eefe1067d2b2933743ce8761e75ce8fc6c2"
    },
    {
      "role": "use-profiles",
      "path": "use-profiles.json",
      "url": "/characters/v2/nerisaki/2.9.0/use-profiles.json",
      "mediaType": "application/json",
      "bytes": 2292,
      "sha256": "359dbe8fff9281aa37fa4d527c9047e91ed1eb470aaa4bc7ea6bbe4cf03749a5"
    },
    {
      "role": "asset-provenance",
      "path": "asset-provenance.json",
      "url": "/characters/v2/nerisaki/2.9.0/asset-provenance.json",
      "mediaType": "application/json",
      "bytes": 1898,
      "sha256": "d5be86de5897762bbc8e0ddfc6b889b9c95c5ba4bb668710a46b2bad15c7ead1"
    },
    {
      "role": "RIGHTS",
      "path": "RIGHTS.md",
      "url": "/characters/v2/nerisaki/2.9.0/RIGHTS.md",
      "mediaType": "text/markdown",
      "bytes": 464,
      "sha256": "7e7b3e8f6e2330f3c079927e8442fc19a4b92f5bed303964f44fd782d8f7cf27"
    },
    {
      "role": "ATTRIBUTION",
      "path": "ATTRIBUTION.md",
      "url": "/characters/v2/nerisaki/2.9.0/ATTRIBUTION.md",
      "mediaType": "text/markdown",
      "bytes": 178,
      "sha256": "b56f8aedda65336988135620bda2f180f54e39d81a259ab9b47b7a0abb43571c"
    },
    {
      "role": "PRODUCTION-GUIDE",
      "path": "PRODUCTION-GUIDE.md",
      "url": "/characters/v2/nerisaki/2.9.0/PRODUCTION-GUIDE.md",
      "mediaType": "text/markdown",
      "bytes": 1975,
      "sha256": "c12b229d52405414178df667501193527aa349f97ae2e41922005fa12bd2c68b"
    },
    {
      "role": "CHANGELOG",
      "path": "CHANGELOG.md",
      "url": "/characters/v2/nerisaki/2.9.0/CHANGELOG.md",
      "mediaType": "text/markdown",
      "bytes": 313,
      "sha256": "dde98ee1793bec3e58eef5e9a8e207df09332655eea4e36fa17a7dabe54712cd"
    },
    {
      "role": "gameplay-runtime",
      "path": "gameplay-runtime.json",
      "url": "/characters/v2/nerisaki/2.9.0/gameplay-runtime.json",
      "mediaType": "application/json",
      "bytes": 4828,
      "sha256": "3150c002934dbebb3b69f21957f49943b82e9e703a1c7c218ab8e0df285ad74f"
    },
    {
      "role": "media-nerisaki-expressions-v1",
      "path": "media/nerisaki-expressions-v1.png",
      "url": "/characters/v2/nerisaki/2.9.0/media/nerisaki-expressions-v1.png",
      "mediaType": "image/png",
      "bytes": 1288681,
      "sha256": "5ad8b5a2bd40528c44261f712f8f7cc2304f249df534e27c22c27d9fb72dcce0"
    },
    {
      "role": "media-nerisaki-reference-v1",
      "path": "media/nerisaki-reference-v1.png",
      "url": "/characters/v2/nerisaki/2.9.0/media/nerisaki-reference-v1.png",
      "mediaType": "image/png",
      "bytes": 157167,
      "sha256": "cbc7dc4ce9c1503f43be43f1e065d1f5d6ab10075e722227956804e790c9f119"
    },
    {
      "role": "media-frames-forks-wide",
      "path": "media/frames/forks-wide.png",
      "url": "/characters/v2/nerisaki/2.9.0/media/frames/forks-wide.png",
      "mediaType": "image/png",
      "bytes": 157167,
      "sha256": "cbc7dc4ce9c1503f43be43f1e065d1f5d6ab10075e722227956804e790c9f119"
    },
    {
      "role": "media-frames-forks-wide",
      "path": "media/frames/forks-wide.webp",
      "url": "/characters/v2/nerisaki/2.9.0/media/frames/forks-wide.webp",
      "mediaType": "text/markdown",
      "bytes": 14954,
      "sha256": "70495dc04f6df5adad2aaafa251c0cfe65d1b77f8e80976099636c33e672296a"
    },
    {
      "role": "media-frames-target-found",
      "path": "media/frames/target-found.png",
      "url": "/characters/v2/nerisaki/2.9.0/media/frames/target-found.png",
      "mediaType": "image/png",
      "bytes": 165948,
      "sha256": "51ce3af496e6ba5b6cf677b842da04dd491b2395dff74c847451bf7ef114b0d4"
    },
    {
      "role": "media-frames-target-found",
      "path": "media/frames/target-found.webp",
      "url": "/characters/v2/nerisaki/2.9.0/media/frames/target-found.webp",
      "mediaType": "text/markdown",
      "bytes": 16198,
      "sha256": "acdd16fa4a7f431af451ec9474cdca778c8cf0c82ad867e29022f303a22cdfae"
    },
    {
      "role": "media-frames-converging",
      "path": "media/frames/converging.png",
      "url": "/characters/v2/nerisaki/2.9.0/media/frames/converging.png",
      "mediaType": "image/png",
      "bytes": 152188,
      "sha256": "e97134141334edeb6f58e28e9c394b64bfae3d55051605cf4843f06b1482c45f"
    },
    {
      "role": "media-frames-converging",
      "path": "media/frames/converging.webp",
      "url": "/characters/v2/nerisaki/2.9.0/media/frames/converging.webp",
      "mediaType": "text/markdown",
      "bytes": 13462,
      "sha256": "a72d8b6b50db05c7c1ca5f6a3dc68a42dbb2be977832f46d80d9d26d1308be38"
    },
    {
      "role": "media-frames-aim-held",
      "path": "media/frames/aim-held.png",
      "url": "/characters/v2/nerisaki/2.9.0/media/frames/aim-held.png",
      "mediaType": "image/png",
      "bytes": 162597,
      "sha256": "1c4f716f9057a2f7030451277096f8f3c3d7e801156b1287d22894d26eb87c92"
    },
    {
      "role": "media-frames-aim-held",
      "path": "media/frames/aim-held.webp",
      "url": "/characters/v2/nerisaki/2.9.0/media/frames/aim-held.webp",
      "mediaType": "text/markdown",
      "bytes": 15186,
      "sha256": "f5d81897bb8de7e8d629f6d98f54bc993f830a691c45c0abdea11116c1e0bc17"
    },
    {
      "role": "media-frames-confirm-joined",
      "path": "media/frames/confirm-joined.png",
      "url": "/characters/v2/nerisaki/2.9.0/media/frames/confirm-joined.png",
      "mediaType": "image/png",
      "bytes": 154725,
      "sha256": "1f84b2674fe6b4643b0388c555798e83c3278a3d1023035e81e5a2ed5a4a93ce"
    },
    {
      "role": "media-frames-confirm-joined",
      "path": "media/frames/confirm-joined.webp",
      "url": "/characters/v2/nerisaki/2.9.0/media/frames/confirm-joined.webp",
      "mediaType": "text/markdown",
      "bytes": 14164,
      "sha256": "b892becc6fb0c7eb77f058b5ee72d04f246329b8c5ab85c2c3c461fc6f5c082b"
    },
    {
      "role": "media-frames-forks-release",
      "path": "media/frames/forks-release.png",
      "url": "/characters/v2/nerisaki/2.9.0/media/frames/forks-release.png",
      "mediaType": "image/png",
      "bytes": 157679,
      "sha256": "80b8d323740ac7f7391bcdc78e5aef170406dcf32f100f470ebf6da738c6da76"
    },
    {
      "role": "media-frames-forks-release",
      "path": "media/frames/forks-release.webp",
      "url": "/characters/v2/nerisaki/2.9.0/media/frames/forks-release.webp",
      "mediaType": "text/markdown",
      "bytes": 15338,
      "sha256": "7119301910d30cdb7956baaf0ff73734726cd38b6d3f6bf55a4ddee0a67a783c"
    }
  ]
}
