Files
aetherbound-guild/docs/runtime/PHASE9_0R2_CHARACTER_ANIMATION_CONTRACT.md

3.7 KiB

Phase 9.0R2 Character Animation Runtime Contract

Definition

Character animation means the visible character image progresses through authored frames whose body or limb poses differ. Position translation, bobbing, rotation, scaling, opacity, particles and camera motion may support a frame sequence but cannot replace it.

Runtime States

Tutorial phase Hearthguard Wayrunner Farstring Kindhand Riftblade Commit
Advance advance, loop advance, loop advance, loop advance, loop advance, loop none
Threat idle, loop idle, loop idle, loop idle, loop telegraph, once/hold none
Enemy attack guard, once/hold evade_counter, once/hold idle, loop idle, loop attack, once/hold front HP at Riftblade impact frame
Rear action idle, loop idle, loop draw_release, once/hold lantern_heal, once/hold hit for Farstring, otherwise idle enemy HP or front heal at rear impact frame
Final action basic_attack, once/hold evade_counter, once/hold draw_release, once/hold lantern_heal, once/hold hit, once/hold enemy HP at final impact frame
Defeat idle, loop idle, loop idle, loop idle, loop death, once/hold enemy HP reaches zero once
Victory victory, once/hold idle, loop idle, loop idle, loop final death frame one victory transition

For non-Hearthguard Recruits, the first accepted generated action row may also supply a restrained two-or-more-frame ready/idle sequence when no separate idle row exists. Reusing different action poses as an erratic loop is not allowed.

Timing

  • Each animation state declares frames, FPS, loop/non-loop and impact frame.
  • Looping states wrap. Non-looping states clamp to the final frame.
  • The runtime records a per-phase impact-committed flag. Crossing the impact frame commits the value once even when one rendered delta skips multiple frames.
  • Phase duration must allow the primary non-looping action to reach its final frame and remain readable before the next phase.
  • Pausing for Restart confirmation freezes frame time and event commits.

Reduced Motion

Reduced motion removes the advance translation and nonessential looping idle cycles. It does not replace action states with the old static anchors. Required actions step through their authored anticipation, impact and terminal frames at a lower bounded FPS so their meaning remains visible.

Art And Provenance

  • Hearthguard and Riftblade runtime frames are byte-identical copies of the accepted Phase 6 frame authority named in the asset manifest.
  • Wayrunner, Farstring and Kindhand generation uses their Phase 7 canonical anchors as image references and the sprite-gen component-row contract.
  • The generated strips use a flat chroma background, are deterministically extracted to transparent PNG frames, and retain request, prompt, provider report, source image, curation and hashes.
  • Runtime actor frames keep identity, handedness, equipment, facing, baseline and play-size silhouette stable. VFX remain separate layers.

Runtime Evidence

The fixed recording must include:

  1. authored advance cycles and collision stop;
  2. Riftblade telegraph and attack;
  3. one visible front guard or evade/counter response;
  4. one visible Farstring draw/release or Kindhand lantern/heal action;
  5. final attack, enemy recoil and non-looping death;
  6. victory without a reset seam.

Static captures support layout only. The animation claim requires a continuous normal-render recording and sampled-frame proof that actor textures changed.

Evidence Markers

  • ABG_P9_0R2_ANIMATION_ASSETS_OK
  • ABG_P9_0R2_CHARACTER_ANIMATION_OK
  • ABG_P9_0R2_DYNAMIC_SLICE_OK