{
  "$schema": "/characters/v2/schemas/knowledge-base.schema.json",
  "schemaVersion": "2.0.0",
  "kind": "nandarona.character-knowledge-base",
  "releaseId": "kakushiba@2.8.0",
  "epistemicPolicy": {
    "canonical": "Must be preserved unless a later versioned release changes it.",
    "recommended": "Safe default; may be adapted while canonical invariants remain.",
    "exploratory": "Permitted experiment, not official fact.",
    "unknown": "Intentionally unspecified; never invent a canonical answer.",
    "prohibited": "Conflicts with identity, rights, or release boundaries."
  },
  "identity": {
    "canonical": {
      "id": "kakushiba",
      "displayName": "Kakushiba",
      "jaName": "かくしば",
      "familyId": "scene",
      "familyName": "がめんのあいず",
      "coreQuestionJa": "どこまで重ねれば、周りを残して隠せるんだろな？",
      "role": "プライバシー範囲の可逆遮蔽役",
      "verb": "必要な範囲だけ目隠しする",
      "summary": "互い違いの五枚遮蔽板が中央へ重なり、指定範囲だけを覆ってから同じ順で収納される。"
    }
  },
  "designBoundary": {
    "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"
      ]
    },
    "familyDNA": {
      "canonical": [
        "濃紺の線と白い薄層身体を共有し、画面状態を示す面だけ淡いミント、藤、珊瑚、黄で示す",
        "視覚器官を待機点列、開始継目、転換羽根、注目四隅、遮蔽板、記録爪、周回路、停止柱、戻り歯、閉幕絞りへ分散する",
        "セーフエリアを塞がず、16:9、9:16、1:1の画面で位置と大きさを調整できる",
        "状態差は開閉率、画面端からの進入量、枠の余白、遮蔽率、残り周回、時間方向で伝える",
        "32px相当の縮小表示でも輪郭と機能が判別でき、色と動きだけへ依存しない"
      ],
      "distinction": "seeds, leaves, roots, fruit, branches, pollen, and petals act as directly playable growth mechanisms without a mascot face"
    },
    "individualDNA": {
      "canonical": {
        "silhouette": "縦横比の違う五枚の丸角遮蔽板が互い違いに並ぶ帯体",
        "motif": "遮蔽板と残る外周",
        "states": [
          "slats-open",
          "target-range",
          "overlap-one",
          "covered",
          "uncover",
          "slats-rest"
        ]
      },
      "prohibited": [
        "黒塗り一枚にしない",
        "恒久削除を意味させない",
        "隠した内容を推測する設定にしない"
      ]
    }
  },
  "behavior": {
    "canonical": {
      "$schema": "/characters/v2/schemas/state-machine.schema.json",
      "schemaVersion": "1.0.0",
      "kind": "nandarona.character-state-machine",
      "releaseId": "kakushiba@2.8.0",
      "initialState": "slats-open",
      "states": {
        "slats-open": {
          "status": "canonical",
          "intent": "必要な範囲だけ目隠しする前の基準状態",
          "allowedNext": [
            "target-range",
            "slats-open"
          ],
          "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
        },
        "target-range": {
          "status": "canonical",
          "intent": "プライバシー範囲の可逆遮蔽役としての target-range 状態",
          "allowedNext": [
            "overlap-one",
            "slats-open"
          ],
          "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
        },
        "overlap-one": {
          "status": "canonical",
          "intent": "プライバシー範囲の可逆遮蔽役としての overlap-one 状態",
          "allowedNext": [
            "covered",
            "slats-open"
          ],
          "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
        },
        "covered": {
          "status": "canonical",
          "intent": "プライバシー範囲の可逆遮蔽役としての covered 状態",
          "allowedNext": [
            "uncover",
            "slats-open"
          ],
          "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
        },
        "uncover": {
          "status": "canonical",
          "intent": "プライバシー範囲の可逆遮蔽役としての uncover 状態",
          "allowedNext": [
            "slats-rest",
            "slats-open"
          ],
          "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
        },
        "slats-rest": {
          "status": "canonical",
          "intent": "プライバシー範囲の可逆遮蔽役としての slats-rest 状態",
          "allowedNext": [
            "slats-open"
          ],
          "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
        }
      },
      "events": {
        "activate": "target-range",
        "intensify": "covered",
        "resolve": "uncover",
        "reset": "slats-open"
      },
      "guards": [
        "黒塗り一枚にしない",
        "恒久削除を意味させない",
        "隠した内容を推測する設定にしない",
        "Unknown facts must remain unknown and must not be promoted to canonical by a transition.",
        "A transition must preserve common DNA, family DNA, and individual silhouette."
      ]
    },
    "recommended": {
      "game": {
        "status": "recommended",
        "roles": [
          "個人情報マスク",
          "ネタバレ伏せ",
          "一時的なUI遮蔽"
        ],
        "selectionReason": "プライバシー範囲の可逆遮蔽役が必要で、遮蔽板と残る外周をゲーム内シルエットとして読ませたい時に選ぶ。",
        "implementation": [
          "six independent 512px state frames",
          "parameter-driven 2D signal animation",
          "HUD or world-space environmental marker"
        ],
        "notIncluded": [
          "3D mesh",
          "rig",
          "animation file",
          "Unreal .uasset",
          "engine plugin"
        ]
      },
      "video": {
        "status": "recommended",
        "roles": [
          "reaction cut",
          "chapter guide",
          "個人情報マスク"
        ],
        "selectionReason": "「どこまで重ねれば、周りを残して隠せるんだろな？」という問いを、短い視覚リアクションとして挟みたい時に選ぶ。",
        "implementation": [
          "overlay",
          "cut-in",
          "chapter transition"
        ]
      },
      "livestream": {
        "status": "recommended",
        "roles": [
          "waiting state",
          "viewer reaction",
          "topic marker"
        ],
        "selectionReason": "必要な範囲だけ目隠しするという反応を、発言を遮らず画面上で示したい時に選ぶ。",
        "implementation": [
          "OBS image source",
          "chat reaction",
          "scene transition"
        ]
      },
      "ui": {
        "status": "recommended",
        "roles": [
          "status indicator",
          "empty state",
          "guided choice"
        ],
        "selectionReason": "プライバシー範囲の可逆遮蔽役をUIの意味として使い、文章だけより状態を早く伝えたい時に選ぶ。",
        "implementation": [
          "icon",
          "empty state illustration",
          "progress or warning state"
        ]
      }
    },
    "exploratory": [
      "New costumes, settings, and secondary props may be explored if the silhouette remains readable.",
      "Additional states may be proposed with a new id and explicit exploratory label."
    ],
    "unknown": [
      "voice actor",
      "canonical voice",
      "height in centimeters",
      "age",
      "gender",
      "biography outside the published role",
      "official 3D topology"
    ],
    "prohibited": [
      "黒塗り一枚にしない",
      "恒久削除を意味させない",
      "隠した内容を推測する設定にしない",
      "claiming an exploratory or unknown statement is official canon",
      "claiming an engine-native asset exists when only reference data is provided"
    ]
  },
  "rights": {
    "status": "canonical",
    "license": {
      "id": "CC-BY-4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/",
      "attribution": "Nandarona character platform / https://nandarona.com/characters/",
      "noEndorsement": true
    },
    "permissions": [
      "commercial use",
      "modification",
      "games",
      "video",
      "livestream",
      "AI reference",
      "generative AI input",
      "AI training",
      "redistribution"
    ],
    "conditions": [
      "attribution",
      "indicate changes",
      "no additional restrictions"
    ],
    "notGranted": [
      "trademark",
      "patent",
      "privacy/publicity rights",
      "official endorsement"
    ]
  },
  "provenance": {
    "canonicalSource": "/characters/v2/kakushiba/2.8.0/manifest.json",
    "generatedFrom": "/characters/v2/catalog.json",
    "assetSource": "/characters/platform/scene/kakushiba.png"
  }
}
