Files
aetherbound-guild/docs/goals/PHASE9_0R3_BATTLE_FEEDBACK_GOAL.md
T

5.2 KiB

Phase 9.0R3 Battle Feedback Goal

Owner Finding

The Owner accepts the P9.0R2 battle direction but reports that characters hold still too long between authored actions and that HP changes lack readable damage/heal text animation. The earliest failed boundary is impact cadence and feedback, not character identity, battle rules or the opening flow.

Role And Baseline

  • Role: development task.
  • Repository: aetherbound_guild only.
  • Baseline: clean/upstream P9.0R2 closure be17debf4ed3ebe5c3e6de2701d5e3c374de1dcb.
  • Fixed product predecessor: 6c72e243c2a35574a9a15ed7f22b0b44f0d0f865.
  • Active contract: docs/runtime/PHASE9_0R3_BATTLE_FEEDBACK_CONTRACT.md.
  • Active ledger: docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md.

Owned Slice

  1. Replace the uniform 2.2-second post-action holds with explicit per-phase durations that preserve anticipation, impact and a short readable recovery.
  2. Emit one animated number pop only when each existing HP commit succeeds: front damage, ranged damage, healing, coordinated damage and final damage.
  3. Distinguish damage, guarded/evasive damage, healing and final damage using text, outline and restrained color; color alone is not the payload.
  4. Add bounded target tint and optional small recoil that always returns to the resting state. Reduced motion removes travel/recoil but retains the number and exact value.
  5. Time existing VFX to the impact window instead of showing them for an entire phase.

Frozen

  • HP values, formulas, roles, targets, victory and event counts.
  • All character, enemy, background and VFX source assets.
  • Title, Yard, front/rear choice, victory, Home and confirmed Restart flow.
  • Economy, equipment, Party order, persistence, chapters and content counts.
  • Audio expansion, device packaging, TestFlight, stores and release.

Acceptance

  • The automatic battle reaches victory faster than the P9.0R2 13.50-second battle clock while every non-looping action reaches its terminal frame.
  • No post-action dead hold exceeds 0.70 seconds.
  • Each HP commit produces exactly one matching feedback payload; phase replay, long delta, Restart confirmation, Home and clear cannot duplicate it.
  • Number pops rise and fade in normal mode, remain stationary and fade in reduced motion, and never cover health captions or the event ribbon.
  • Damage values are negative, healing is positive and all values equal the authoritative before/after HP delta.
  • Existing P9.0R2 animation, P9.0R1 domain/touch/layout and design regressions pass unchanged.
  • Fresh normal-render recording visibly proves tighter cadence and all five feedback values. Human feel, visual acceptance and phone readability remain Owner gates.

Candidate Outcome

Fixed clean/upstream source 425fae82d3d88a002bdaadeabb498d8bf0d069cd contains product behavior commit 3b26b3d671ae7d043ab4bfcbd8b31e77df6d6d0d plus test-only recording and default-audio lifecycle coverage. The declared battle clock is 7.25 seconds and both normal-render routes reach victory in 7.33 seconds. Exact automated markers include:

  • ABG_P9_0R3_BATTLE_FEEDBACK_OK phases=6 duration=7.25 values=-18,-12,-36,+12,-30,-34 once=true reduced_motion=true cleanup=true
  • ABG_P9_0R3_AUDIO_LIFECYCLE_OK default_enabled=true stream=true cleanup=true
  • ABG_P9_0R2_CHARACTER_ANIMATION_OK actors=5 states=20 impact_once=true death_hold=true reduced_motion=true
  • ABG_P9_0R1_DOMAIN_OK routes=2 replace=front,rear restart=confirmed home=1 battle_phases=6 victory_once=1
  • ABG_P9_0R1_TOUCH_OK touch=15 fallback=0 direct=0 replace=2 battle=1 home=1 restart=confirmed
  • ABG_P9_0R1_LAYOUT_OK fixtures=13 landscape=12 portrait=1 pages=4 locales=2 text_130=true min_touch=44

Fresh attempt 04 verifies 18 feedback frames across 1280x720 zh_CN, 844x390 zh_CN at 130% text and 720x405 English. Both H.264 recordings are 1280x720, 30 fps and 15.233333 seconds; their battle sections prove all four route-specific payloads and one victory without gray teardown frames. Strict diagnostics are zero. Its 65-row inventory SHA-256 is d1040cec77d3cc63e8322c63d2df5dcc6ee88c35ab04329d52f6687c5529720a.

The runtime-only PCK excludes tests/evidence and contains the real VFX plus all five representative action resources. The nine-file Web manifest SHA-256 is d48922ed4892e15057284275e237d6ef35dd77201a2c67efd170e870c98225bb. Local Chrome reaches Title -> Yard -> battle -> victory with zero diagnostics; portrait displays the rotate prompt. Final Gallery runtime ID is _N8bdzMkdn1c. Attempts 01-03 are append-only invalid history and were not reused. Human feel, visual acceptance, phone readability, listening, device, packaging, store and release remain open.

Owner Acceptance

On 2026-08-13 the Owner played the signed Gallery build and replied that this version is acceptable and development should continue. P9.0R3 battle cadence, authored character motion and event-bound damage/heal feedback are therefore the frozen human_reviewed direction for the next runtime slice. This does not grant listening, broader fun/continuation, physical-device, packaging, store or release acceptance.

Aetherbound Guild P9.0R3 battle feedback candidate ready

or

Aetherbound Guild P9.0R3 redesign required: <earliest failed player boundary>