{
  "$schema": "/characters/v2/schemas/state-machine.schema.json",
  "schemaVersion": "1.0.0",
  "kind": "nandarona.character-state-machine",
  "releaseId": "kasanaru@2.2.0",
  "initialState": "idle",
  "states": {
    "idle": {
      "status": "canonical",
      "intent": "重ねる前の基準状態",
      "allowedNext": [
        "approach",
        "idle"
      ],
      "visualChannel": "object state, hinge or tilt, sensor signal, spacing, restrained functional motion"
    },
    "approach": {
      "status": "canonical",
      "intent": "共同制作と合成の重なり役としての approach 状態",
      "allowedNext": [
        "compare",
        "idle"
      ],
      "visualChannel": "object state, hinge or tilt, sensor signal, spacing, restrained functional motion"
    },
    "compare": {
      "status": "canonical",
      "intent": "共同制作と合成の重なり役としての compare 状態",
      "allowedNext": [
        "overlap",
        "idle"
      ],
      "visualChannel": "object state, hinge or tilt, sensor signal, spacing, restrained functional motion"
    },
    "overlap": {
      "status": "canonical",
      "intent": "共同制作と合成の重なり役としての overlap 状態",
      "allowedNext": [
        "co-create",
        "idle"
      ],
      "visualChannel": "object state, hinge or tilt, sensor signal, spacing, restrained functional motion"
    },
    "co-create": {
      "status": "canonical",
      "intent": "共同制作と合成の重なり役としての co-create 状態",
      "allowedNext": [
        "separate-cleanly",
        "idle"
      ],
      "visualChannel": "object state, hinge or tilt, sensor signal, spacing, restrained functional motion"
    },
    "separate-cleanly": {
      "status": "canonical",
      "intent": "共同制作と合成の重なり役としての separate-cleanly 状態",
      "allowedNext": [
        "idle"
      ],
      "visualChannel": "object state, hinge or tilt, sensor signal, spacing, restrained functional motion"
    }
  },
  "events": {
    "activate": "approach",
    "intensify": "overlap",
    "resolve": "co-create",
    "reset": "idle"
  },
  "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."
  ]
}
