docs: open character animation repair
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# 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`
|
||||
Reference in New Issue
Block a user