{
  "schemaVersion": "1.0.0",
  "kind": "nandarona.character-2d-runtime",
  "characterId": "yobishiro",
  "familyId": "encounter",
  "sourceRelease": "yobishiro@2.7.0",
  "canvas": {
    "width": 512,
    "height": 512,
    "background": "white-matte"
  },
  "rendering": {
    "sourceCanvas": {
      "width": 512,
      "height": 512,
      "background": "white-matte"
    },
    "includedFormats": [
      "png",
      "webp"
    ],
    "alphaStatus": "not-included",
    "recommendedBlend": "normal",
    "warning": "Current frames use a white matte. Transparent cutouts, engine-native ability assets, hitboxes, VFX, audio, navigation assets, physics bodies, and animation rigs are not included and must not be claimed as included."
  },
  "runtime": {
    "coordinateSystem": "normalized-2d-top-left",
    "defaultPivot": {
      "x": 0.5,
      "y": 0.5
    },
    "stateCount": 6,
    "transitionPolicy": "Use declared anticipation, active, resolve, and recovery states as authoritative timing boundaries; interpolate only the three declared channels.",
    "collisionPolicy": "Use each declared effect volume independently from artwork bounds. Telegraph and active volumes must share shape unless the character contract explicitly declares a safe center or exit.",
    "reducedMotion": "Crossfade between anticipation, active, and recovery for at least 120ms while retaining shape, direction, remaining stages, and safe-side geometry.",
    "fairnessPolicy": "Do not make an active effect larger than its final telegraph shape; do not hide direction, count, safe side, or interrupt window using color alone."
  },
  "motion": {
    "characterId": "yobishiro",
    "motionModel": "two-slot-bounded-summon",
    "channels": [
      {
        "id": "availableSlots",
        "type": "integer",
        "range": [
          0,
          2
        ],
        "default": 2
      },
      {
        "id": "slotOpen",
        "type": "normalized",
        "range": [
          0,
          1
        ],
        "default": 0
      },
      {
        "id": "callProgress",
        "type": "normalized",
        "range": [
          0,
          1
        ],
        "default": 0
      }
    ],
    "pivot": {
      "x": 0.5,
      "y": 0.63
    },
    "collision": "dual-slot-body-with-single-spawn-volume",
    "loop": {
      "states": [
        "choose-slot",
        "open-slot"
      ],
      "durationMs": 1250
    }
  },
  "frames": [
    {
      "state": "two-slots",
      "index": 0,
      "png": "media/frames/two-slots.png",
      "webp": "media/frames/two-slots.webp",
      "sourceRect": {
        "x": 0,
        "y": 0,
        "width": 512,
        "height": 512
      },
      "contentBounds": {
        "x": 0.0996,
        "y": 0.0859,
        "width": 0.8789,
        "height": 0.9141
      }
    },
    {
      "state": "choose-slot",
      "index": 1,
      "png": "media/frames/choose-slot.png",
      "webp": "media/frames/choose-slot.webp",
      "sourceRect": {
        "x": 512,
        "y": 0,
        "width": 512,
        "height": 512
      },
      "contentBounds": {
        "x": 0.1035,
        "y": 0.0879,
        "width": 0.8418,
        "height": 0.7949
      }
    },
    {
      "state": "open-slot",
      "index": 2,
      "png": "media/frames/open-slot.png",
      "webp": "media/frames/open-slot.webp",
      "sourceRect": {
        "x": 1024,
        "y": 0,
        "width": 512,
        "height": 512
      },
      "contentBounds": {
        "x": 0.0117,
        "y": 0.082,
        "width": 0.8613,
        "height": 0.8008
      }
    },
    {
      "state": "call-one",
      "index": 3,
      "png": "media/frames/call-one.png",
      "webp": "media/frames/call-one.webp",
      "sourceRect": {
        "x": 0,
        "y": 512,
        "width": 512,
        "height": 512
      },
      "contentBounds": {
        "x": 0.1113,
        "y": 0,
        "width": 0.8672,
        "height": 0.7656
      }
    },
    {
      "state": "one-slot-left",
      "index": 4,
      "png": "media/frames/one-slot-left.png",
      "webp": "media/frames/one-slot-left.webp",
      "sourceRect": {
        "x": 512,
        "y": 512,
        "width": 512,
        "height": 512
      },
      "contentBounds": {
        "x": 0.0996,
        "y": 0.127,
        "width": 0.8418,
        "height": 0.6406
      }
    },
    {
      "state": "both-closed",
      "index": 5,
      "png": "media/frames/both-closed.png",
      "webp": "media/frames/both-closed.webp",
      "sourceRect": {
        "x": 1024,
        "y": 512,
        "width": 512,
        "height": 512
      },
      "contentBounds": {
        "x": 0.0449,
        "y": 0.2383,
        "width": 0.8184,
        "height": 0.5352
      }
    }
  ]
}
