{
  "$schema": "/characters/v2/schemas/release.schema.json",
  "schemaVersion": "2.0.0",
  "kind": "nandarona.public-character-release",
  "releaseId": "oyogiri@2.6.0",
  "characterId": "oyogiri",
  "familyId": "locomotion",
  "version": "2.6.0",
  "releasedAt": "2026-07-30",
  "status": "published",
  "immutable": true,
  "pageUrl": "/characters/oyogiri/",
  "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": [
      "濃紺の外郭線と白い身体を共通にし、移動に使う面だけ淡い空色、ミント、藤、珊瑚、黄で示す",
      "視覚器官を進行スリット、踏切環、把持点、吸着帯、振動節、側線窓、揚力孔、水平環、追従レンズ、間隔灯へ分散する",
      "状態差は姿勢、接地数、身体の圧縮、面への向き、深度、翼面積、隊形で伝える",
      "各個体は固有の移動コントローラ、三つの可動値、ピボット、衝突体または接触面契約を持つ",
      "静止画一枚でも移動方向と接触面が読み取れ、小型NPCとUIアイコンの双方で輪郭が崩れない"
    ],
    "individualDNA": [
      "どの尾の角度なら、狭い水路を曲がれるんだろな？",
      "深度と旋回を持つ水泳NPC役",
      "細い紡錘胴と、左右で大きさの違う二枚の柔らかな尾板",
      "側線窓と尾の曲率"
    ]
  },
  "files": [
    {
      "role": "profile",
      "path": "profile.json",
      "url": "/characters/v2/oyogiri/2.6.0/profile.json",
      "mediaType": "application/json",
      "bytes": 1990,
      "sha256": "c10919aa3d043d9393cadde68ea3266c85c807b21857dbed53a01a0a91828dd3"
    },
    {
      "role": "knowledge-base",
      "path": "knowledge-base.json",
      "url": "/characters/v2/oyogiri/2.6.0/knowledge-base.json",
      "mediaType": "application/json",
      "bytes": 9904,
      "sha256": "0f2ed52353d460420559f42a39e7a670c1a084ae3dfae74ba85e8c096aa78826"
    },
    {
      "role": "ai-index",
      "path": "ai-index.json",
      "url": "/characters/v2/oyogiri/2.6.0/ai-index.json",
      "mediaType": "application/json",
      "bytes": 1235,
      "sha256": "4c1fac098740f9bf261e3af8467a1836138d046c7bb0f8f6252363a7a5d3112c"
    },
    {
      "role": "prompt-pack",
      "path": "prompt-pack.json",
      "url": "/characters/v2/oyogiri/2.6.0/prompt-pack.json",
      "mediaType": "application/json",
      "bytes": 2722,
      "sha256": "ae83a36c39e0ce8442ec7f777b2c20c18514abf4e65341ca88188eea5e41a4c5"
    },
    {
      "role": "state-machine",
      "path": "state-machine.json",
      "url": "/characters/v2/oyogiri/2.6.0/state-machine.json",
      "mediaType": "application/json",
      "bytes": 2692,
      "sha256": "acda32688b47683f30ca14bef554ce24bda5bf5d9ff5d06e7049098dc41cf25a"
    },
    {
      "role": "use-profiles",
      "path": "use-profiles.json",
      "url": "/characters/v2/oyogiri/2.6.0/use-profiles.json",
      "mediaType": "application/json",
      "bytes": 2135,
      "sha256": "41614515c3c605b299921ecef343593e50baf78456d919090f2c9375a23f9d8c"
    },
    {
      "role": "asset-provenance",
      "path": "asset-provenance.json",
      "url": "/characters/v2/oyogiri/2.6.0/asset-provenance.json",
      "mediaType": "application/json",
      "bytes": 1775,
      "sha256": "9f3342fe3814a7ec4f7a084b92f4432b04ba90456859f241fe9318b573f2e9f5"
    },
    {
      "role": "RIGHTS",
      "path": "RIGHTS.md",
      "url": "/characters/v2/oyogiri/2.6.0/RIGHTS.md",
      "mediaType": "text/markdown",
      "bytes": 463,
      "sha256": "1923fd2e8e724c959515539cfa53576cc22db20f822acedc073f0806650a49e2"
    },
    {
      "role": "ATTRIBUTION",
      "path": "ATTRIBUTION.md",
      "url": "/characters/v2/oyogiri/2.6.0/ATTRIBUTION.md",
      "mediaType": "text/markdown",
      "bytes": 176,
      "sha256": "935e75e58f090b23e17614cbc7a6049ef4f043815922a036fca6daba758226ba"
    },
    {
      "role": "PRODUCTION-GUIDE",
      "path": "PRODUCTION-GUIDE.md",
      "url": "/characters/v2/oyogiri/2.6.0/PRODUCTION-GUIDE.md",
      "mediaType": "text/markdown",
      "bytes": 1519,
      "sha256": "1c7c9210f77e850fcf9ad71dc59b245ed3fa431414fd56990fda9140dace8541"
    },
    {
      "role": "CHANGELOG",
      "path": "CHANGELOG.md",
      "url": "/characters/v2/oyogiri/2.6.0/CHANGELOG.md",
      "mediaType": "text/markdown",
      "bytes": 462,
      "sha256": "8d382d67011c2d8060bccfe0759d02b290d69de9f74f1849920a1b81630d9296"
    },
    {
      "role": "gameplay-runtime",
      "path": "gameplay-runtime.json",
      "url": "/characters/v2/oyogiri/2.6.0/gameplay-runtime.json",
      "mediaType": "application/json",
      "bytes": 4448,
      "sha256": "ae4fad7a5f833eaf4b739f426ff5e0898dc986f2ce2f537b6262a437f547dcdd"
    },
    {
      "role": "media-oyogiri-expressions-v1",
      "path": "media/oyogiri-expressions-v1.png",
      "url": "/characters/v2/oyogiri/2.6.0/media/oyogiri-expressions-v1.png",
      "mediaType": "image/png",
      "bytes": 1217581,
      "sha256": "203564026baa9ba9b07fb9ededae2f8e1551497f2ee8bbe0c8fca6791f8df221"
    },
    {
      "role": "media-oyogiri-reference-v1",
      "path": "media/oyogiri-reference-v1.png",
      "url": "/characters/v2/oyogiri/2.6.0/media/oyogiri-reference-v1.png",
      "mediaType": "image/png",
      "bytes": 133250,
      "sha256": "2383a84a59c62da6ea5f1f188355e46a3f06e2b10e01aa2a5f85373c647ac5c3"
    },
    {
      "role": "media-frames-hover-water",
      "path": "media/frames/hover-water.png",
      "url": "/characters/v2/oyogiri/2.6.0/media/frames/hover-water.png",
      "mediaType": "image/png",
      "bytes": 133250,
      "sha256": "2383a84a59c62da6ea5f1f188355e46a3f06e2b10e01aa2a5f85373c647ac5c3"
    },
    {
      "role": "media-frames-hover-water",
      "path": "media/frames/hover-water.webp",
      "url": "/characters/v2/oyogiri/2.6.0/media/frames/hover-water.webp",
      "mediaType": "text/markdown",
      "bytes": 13608,
      "sha256": "5ad60f701e558d66f325ca44fbd44c9374460a497ebc7c268ad12f95f044330a"
    },
    {
      "role": "media-frames-tail-start",
      "path": "media/frames/tail-start.png",
      "url": "/characters/v2/oyogiri/2.6.0/media/frames/tail-start.png",
      "mediaType": "image/png",
      "bytes": 137684,
      "sha256": "059899b44766219a1b1ddb9fd73354caaa75a3c190537ee6bcb7c1ce472ea7c6"
    },
    {
      "role": "media-frames-tail-start",
      "path": "media/frames/tail-start.webp",
      "url": "/characters/v2/oyogiri/2.6.0/media/frames/tail-start.webp",
      "mediaType": "text/markdown",
      "bytes": 15850,
      "sha256": "0e360f0103f0e7815850dd7ac6b2e6cc1c49395ab053e8d2c48225da8528c597"
    },
    {
      "role": "media-frames-cruise",
      "path": "media/frames/cruise.png",
      "url": "/characters/v2/oyogiri/2.6.0/media/frames/cruise.png",
      "mediaType": "image/png",
      "bytes": 133887,
      "sha256": "f833e6568793a101d6cb28268ab5d8f9fb3d23e996fee65e9d37319de17d6382"
    },
    {
      "role": "media-frames-cruise",
      "path": "media/frames/cruise.webp",
      "url": "/characters/v2/oyogiri/2.6.0/media/frames/cruise.webp",
      "mediaType": "text/markdown",
      "bytes": 15108,
      "sha256": "939ec2b30c351ed57e329d53b5ac6bc99c73e8f2d762cf5d224a547e54f6dd80"
    },
    {
      "role": "media-frames-dive-turn",
      "path": "media/frames/dive-turn.png",
      "url": "/characters/v2/oyogiri/2.6.0/media/frames/dive-turn.png",
      "mediaType": "image/png",
      "bytes": 131683,
      "sha256": "ae79755c8ffa98a8582f52f833a450217ce047cbc93f3620611045a4a113ee2b"
    },
    {
      "role": "media-frames-dive-turn",
      "path": "media/frames/dive-turn.webp",
      "url": "/characters/v2/oyogiri/2.6.0/media/frames/dive-turn.webp",
      "mediaType": "text/markdown",
      "bytes": 13744,
      "sha256": "0404165b7a4c3ec9047c7bd3d83d47f69b987589be0c274d06356c97a1e4c5d5"
    },
    {
      "role": "media-frames-rise-turn",
      "path": "media/frames/rise-turn.png",
      "url": "/characters/v2/oyogiri/2.6.0/media/frames/rise-turn.png",
      "mediaType": "image/png",
      "bytes": 138815,
      "sha256": "69d829bb46cf523c14ae85b7ecaa07fbfdc4a68102b92fec8886f1b9a6e3d831"
    },
    {
      "role": "media-frames-rise-turn",
      "path": "media/frames/rise-turn.webp",
      "url": "/characters/v2/oyogiri/2.6.0/media/frames/rise-turn.webp",
      "mediaType": "text/markdown",
      "bytes": 16340,
      "sha256": "0e24da943d655d7049d272f37783dd4a7fb8d1f41473f1fde19d7b7f77330461"
    },
    {
      "role": "media-frames-stop-fin",
      "path": "media/frames/stop-fin.png",
      "url": "/characters/v2/oyogiri/2.6.0/media/frames/stop-fin.png",
      "mediaType": "image/png",
      "bytes": 127749,
      "sha256": "1e10936710d48c9f06eea996c9d412574c4f3571c13722af083bfea6a5267928"
    },
    {
      "role": "media-frames-stop-fin",
      "path": "media/frames/stop-fin.webp",
      "url": "/characters/v2/oyogiri/2.6.0/media/frames/stop-fin.webp",
      "mediaType": "text/markdown",
      "bytes": 14130,
      "sha256": "d2e0923d40f1571b40a4e2d359df01cce5e259539f7ebf2eaba0dabfce1e0680"
    }
  ]
}
