feat(ui): port retail jump power bar

Import gmFloatyPowerBarUI LayoutDesc 0x21000072, teach the meter factory its stateful single-image shape, and project the movement-owned retail jump charge through a focused retained controller. Preserve authored resize constraints and state-managed visibility, with named-decomp pseudocode plus controller, movement, and production-DAT conformance coverage.

Co-Authored-By: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-13 10:22:03 +02:00
parent 27619b2328
commit db03b4bda8
18 changed files with 3045 additions and 10 deletions

View file

@ -46,6 +46,36 @@ Copy this block when adding a new issue:
---
## #209 — Retail jump power bar missing
**Status:** IN-PROGRESS — implementation complete 2026-07-13, pending live visual gate
**Severity:** MEDIUM
**Component:** retained UI / movement
**Description:** Holding the jump key charged the movement system correctly,
but the separate retail floating power bar did not appear or show jump power.
**Root cause:** The production retained runtime had not mounted
`gmFloatyPowerBarUI` LayoutDesc `0x21000072`. The generic meter importer also
mistook its stateful fill child plus hidden Recklessness child for a vitals-style
three-slice meter, leaving all slice ids empty.
**Resolution:** The importer now recognizes the stateful single-image meter
shape: the authored direct image is the empty track and the selected numeric
child state supplies the fill. `JumpPowerbarController` selects JumpMode, reads
the movement controller's existing retail-timed charge snapshot, shows the
state-managed window on charge begin, fills left-to-right, and resets/hides it
on release. Geometry and resize limits come from the authored DAT layout.
**Research:** `docs/research/2026-07-13-retail-jump-powerbar-pseudocode.md`
**Acceptance:** In the connected Release client, hold Jump: the 610×25 retail
bar appears and fills smoothly from its left edge to its right edge in about
one second. Keep holding at full, then release: the bar resets and disappears as
the jump starts. Repeat after moving/resizing the bar and after relogging.
---
## #208 — Combat bar appears after logging in peacefully
**Status:** IN-PROGRESS — fix shipped 2026-07-12, pending live gate