{
  "$schema": "/characters/v2/schemas/state-machine.schema.json",
  "schemaVersion": "1.0.0",
  "kind": "nandarona.character-state-machine",
  "releaseId": "kyori@2.1.0",
  "initialState": "idle",
  "states": {
    "idle": {
      "status": "canonical",
      "intent": "隔てる前の基準状態",
      "allowedNext": [
        "separate",
        "idle"
      ],
      "visualChannel": "facet angle, spacing, light accent, structural motion"
    },
    "separate": {
      "status": "canonical",
      "intent": "距離と境界の設定役としての separate 状態",
      "allowedNext": [
        "measure-gap",
        "idle"
      ],
      "visualChannel": "facet angle, spacing, light accent, structural motion"
    },
    "measure-gap": {
      "status": "canonical",
      "intent": "距離と境界の設定役としての measure-gap 状態",
      "allowedNext": [
        "hold-boundary",
        "idle"
      ],
      "visualChannel": "facet angle, spacing, light accent, structural motion"
    },
    "hold-boundary": {
      "status": "canonical",
      "intent": "距離と境界の設定役としての hold-boundary 状態",
      "allowedNext": [
        "warn",
        "idle"
      ],
      "visualChannel": "facet angle, spacing, light accent, structural motion"
    },
    "warn": {
      "status": "canonical",
      "intent": "距離と境界の設定役としての warn 状態",
      "allowedNext": [
        "rejoin",
        "idle"
      ],
      "visualChannel": "facet angle, spacing, light accent, structural motion"
    },
    "rejoin": {
      "status": "canonical",
      "intent": "距離と境界の設定役としての rejoin 状態",
      "allowedNext": [
        "idle"
      ],
      "visualChannel": "facet angle, spacing, light accent, structural motion"
    }
  },
  "events": {
    "activate": "separate",
    "intensify": "hold-boundary",
    "resolve": "warn",
    "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."
  ]
}
