{
  "$schema": "/characters/v2/schemas/state-machine.schema.json",
  "schemaVersion": "1.0.0",
  "kind": "nandarona.character-state-machine",
  "releaseId": "hikiyori@2.5.0",
  "initialState": "coiled",
  "states": {
    "coiled": {
      "status": "canonical",
      "intent": "張力で引き寄せる前の基準状態",
      "allowedNext": [
        "hooked",
        "coiled"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "hooked": {
      "status": "canonical",
      "intent": "張力上限付き牽引オブジェクト役としての hooked 状態",
      "allowedNext": [
        "pull-start",
        "coiled"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "pull-start": {
      "status": "canonical",
      "intent": "張力上限付き牽引オブジェクト役としての pull-start 状態",
      "allowedNext": [
        "tension",
        "coiled"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "tension": {
      "status": "canonical",
      "intent": "張力上限付き牽引オブジェクト役としての tension 状態",
      "allowedNext": [
        "draw-near",
        "coiled"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "draw-near": {
      "status": "canonical",
      "intent": "張力上限付き牽引オブジェクト役としての draw-near 状態",
      "allowedNext": [
        "release",
        "coiled"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "release": {
      "status": "canonical",
      "intent": "張力上限付き牽引オブジェクト役としての release 状態",
      "allowedNext": [
        "coiled"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    }
  },
  "events": {
    "activate": "hooked",
    "intensify": "tension",
    "resolve": "draw-near",
    "reset": "coiled"
  },
  "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."
  ]
}
