# Phase 9.0R3 Battle Feedback Runtime Contract ## Authoritative Event Map | Phase | Existing commit | Required pop | Target | Tier | |---|---|---|---|---| | 2 | front `100 -> 82` or `100 -> 88` | `-18 格挡` or `-12 闪避减伤` | front | medium | | 3 ranged | enemy `100 -> 64` | `-36 后排命中` | enemy | medium | | 3 heal | front `82/88 -> 94/100` | `+12 治疗` or exact capped delta | front | medium | | 4 | enemy `64/100 -> 34` | exact negative delta + `连携` | enemy | medium | | 5 | enemy `34 -> 0` | `-34 终结` | enemy | large | The presentation payload is created inside the successful exactly-once commit. It must never infer a result from phase entry, animation position or a button. ## Timing And Rest State - Every phase declares a duration rather than sharing one fixed hold. - The duration must exceed the longest required non-looping animation terminal time plus a bounded recovery margin and must never preempt its impact. - A pop is visible for at most 0.80 seconds. Normal mode uses a short scale pop, upward travel and fade; reduced motion keeps position fixed and uses fade. - Damage tint/recoil lasts at most 0.18 seconds. Healing tint lasts at most 0.24 seconds. Every modulation, scale and offset returns to its base value. - At most one payload exists in this deterministic tutorial at a time. A new payload replaces an expired payload; duplicate commits create nothing. ## Readability - Use signed Arabic numerals as the primary message, with a short Simplified Chinese or English qualifier. - Damage uses a warm red/gold hierarchy; healing uses mint/white. Outline and sign preserve meaning without color. - Pop origin follows the affected actor's current play-space position and stays below the event ribbon and health captions at landscape and portrait sizes. ## Evidence - Focused tests inspect exact payload values, signs, targets, once-only counts, duration bounds, rest cleanup and reduced-motion behavior. - Normal-render evidence samples pre-impact, peak and recovery frames for front damage, ranged damage, heal, coordinated damage and final damage. - Strict logs remain free of script, parse/resource/import and cleanup errors.