{
  "$schema": "/characters/v2/schemas/state-machine.schema.json",
  "schemaVersion": "1.0.0",
  "kind": "nandarona.character-state-machine",
  "releaseId": "tobitsubu@2.7.0",
  "initialState": "loaded",
  "states": {
    "loaded": {
      "status": "canonical",
      "intent": "粒を順番に放つ前の基準状態",
      "allowedNext": [
        "first-cue",
        "loaded"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "first-cue": {
      "status": "canonical",
      "intent": "間隔付き投射列の射出役としての first-cue 状態",
      "allowedNext": [
        "launch-one",
        "loaded"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "launch-one": {
      "status": "canonical",
      "intent": "間隔付き投射列の射出役としての launch-one 状態",
      "allowedNext": [
        "volley",
        "loaded"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "volley": {
      "status": "canonical",
      "intent": "間隔付き投射列の射出役としての volley 状態",
      "allowedNext": [
        "last-gap",
        "loaded"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "last-gap": {
      "status": "canonical",
      "intent": "間隔付き投射列の射出役としての last-gap 状態",
      "allowedNext": [
        "reload",
        "loaded"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "reload": {
      "status": "canonical",
      "intent": "間隔付き投射列の射出役としての reload 状態",
      "allowedNext": [
        "loaded"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    }
  },
  "events": {
    "activate": "first-cue",
    "intensify": "volley",
    "resolve": "last-gap",
    "reset": "loaded"
  },
  "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."
  ]
}
