{
  "$schema": "/characters/v2/schemas/state-machine.schema.json",
  "schemaVersion": "1.0.0",
  "kind": "nandarona.character-state-machine",
  "releaseId": "tsumino@2.5.0",
  "initialState": "loose",
  "states": {
    "loose": {
      "status": "canonical",
      "intent": "向きを合わせて積む前の基準状態",
      "allowedNext": [
        "hover-align",
        "loose"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "hover-align": {
      "status": "canonical",
      "intent": "姿勢判定付き積層オブジェクト役としての hover-align 状態",
      "allowedNext": [
        "edge-touch",
        "loose"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "edge-touch": {
      "status": "canonical",
      "intent": "姿勢判定付き積層オブジェクト役としての edge-touch 状態",
      "allowedNext": [
        "seat",
        "loose"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "seat": {
      "status": "canonical",
      "intent": "姿勢判定付き積層オブジェクト役としての seat 状態",
      "allowedNext": [
        "stacked",
        "loose"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "stacked": {
      "status": "canonical",
      "intent": "姿勢判定付き積層オブジェクト役としての stacked 状態",
      "allowedNext": [
        "unstick",
        "loose"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    },
    "unstick": {
      "status": "canonical",
      "intent": "姿勢判定付き積層オブジェクト役としての unstick 状態",
      "allowedNext": [
        "loose"
      ],
      "visualChannel": "growth amount, leaf or root geometry, hinge angle, maturity, branch choice, restrained organic motion"
    }
  },
  "events": {
    "activate": "hover-align",
    "intensify": "seat",
    "resolve": "stacked",
    "reset": "loose"
  },
  "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."
  ]
}
