{
  "$schema": "/characters/v2/schemas/state-machine.schema.json",
  "schemaVersion": "1.0.0",
  "kind": "nandarona.character-state-machine",
  "releaseId": "saikuri@2.8.0",
  "initialState": "three-loops",
  "states": {
    "three-loops": {
      "status": "canonical",
      "intent": "決めた区間だけ繰り返す前の基準状態",
      "allowedNext": [
        "start-loop",
        "three-loops"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "start-loop": {
      "status": "canonical",
      "intent": "有限回数のループ再生役としての start-loop 状態",
      "allowedNext": [
        "round-one",
        "three-loops"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "round-one": {
      "status": "canonical",
      "intent": "有限回数のループ再生役としての round-one 状態",
      "allowedNext": [
        "two-left",
        "three-loops"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "two-left": {
      "status": "canonical",
      "intent": "有限回数のループ再生役としての two-left 状態",
      "allowedNext": [
        "last-loop",
        "three-loops"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "last-loop": {
      "status": "canonical",
      "intent": "有限回数のループ再生役としての last-loop 状態",
      "allowedNext": [
        "exit-gap",
        "three-loops"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "exit-gap": {
      "status": "canonical",
      "intent": "有限回数のループ再生役としての exit-gap 状態",
      "allowedNext": [
        "three-loops"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    }
  },
  "events": {
    "activate": "start-loop",
    "intensify": "two-left",
    "resolve": "last-loop",
    "reset": "three-loops"
  },
  "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."
  ]
}
