{
  "$schema": "/characters/v2/schemas/state-machine.schema.json",
  "schemaVersion": "1.0.0",
  "kind": "nandarona.character-state-machine",
  "releaseId": "tsuiteko@2.6.0",
  "initialState": "wait",
  "states": {
    "wait": {
      "status": "canonical",
      "intent": "距離を保ってついていく前の基準状態",
      "allowedNext": [
        "acquire",
        "wait"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "acquire": {
      "status": "canonical",
      "intent": "追従距離制御型のコンパニオンNPC役としての acquire 状態",
      "allowedNext": [
        "follow",
        "wait"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "follow": {
      "status": "canonical",
      "intent": "追従距離制御型のコンパニオンNPC役としての follow 状態",
      "allowedNext": [
        "too-close",
        "wait"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "too-close": {
      "status": "canonical",
      "intent": "追従距離制御型のコンパニオンNPC役としての too-close 状態",
      "allowedNext": [
        "fall-behind",
        "wait"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "fall-behind": {
      "status": "canonical",
      "intent": "追従距離制御型のコンパニオンNPC役としての fall-behind 状態",
      "allowedNext": [
        "settle-distance",
        "wait"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "settle-distance": {
      "status": "canonical",
      "intent": "追従距離制御型のコンパニオンNPC役としての settle-distance 状態",
      "allowedNext": [
        "wait"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    }
  },
  "events": {
    "activate": "acquire",
    "intensify": "too-close",
    "resolve": "fall-behind",
    "reset": "wait"
  },
  "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."
  ]
}
