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-gencomponent-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:
- authored advance cycles and collision stop;
- Riftblade telegraph and attack;
- one visible front guard or evade/counter response;
- one visible Farstring draw/release or Kindhand lantern/heal action;
- final attack, enemy recoil and non-looping death;
- 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_OKABG_P9_0R2_CHARACTER_ANIMATION_OKABG_P9_0R2_DYNAMIC_SLICE_OK