diff --git a/docs/ISSUES.md b/docs/ISSUES.md index 57b1b3ec..ee09dd1e 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -24,6 +24,56 @@ What does NOT go here: - Every session: scan OPEN issues at start; promote/close anything we touched during the session before ending. - Promoting to a Phase: mark as `DONE (promoted to Phase X)` + commit SHA where the Phase entry landed. +## #430 — No tooltips on skills and attributes in the character panel + +**Status:** OPEN +**Severity:** LOW (information affordance missing) +**Filed:** 2026-08-23 (owner report) +**Component:** retail UI / character panel + +**Symptom:** hovering skills and attributes on the character panel shows no +tooltip. Retail shows hover text for these rows (formula/experience detail). +Needs the retail oracle first: dump what retail's gmCharacterUI authors for +these elements (tooltip strings/DAT ids and the hover mechanism) before +implementing — the panel side likely needs a shared hover-tooltip surface +the LayoutDesc importer does not mount yet. + +--- + +## #431 — Raising an attribute does not refresh attribute-derived skills or run speed + +**Status:** OPEN +**Severity:** MEDIUM (visible stat incoherence during play) +**Filed:** 2026-08-23 (owner report) +**Component:** character state / stat chain / movement speed + +**Symptom:** raising an attribute (e.g. Quickness) leaves dependent skills +unchanged in the panel — Run should rise with Quickness — and the player +does not actually run faster afterwards. + +**Suspects, in order:** +1. Inbound stat-update handling: an attribute raise arrives as its own + private-stat update; if the client does not re-derive formula skills + (attribute-based base + trained credit) from the new attribute, the + panel keeps stale values. Check which 0x02Cx StatMod family messages + ACE sends on attribute raise and which of them we consume (TS-8's + 0x02C2 parse landed in Campaign P — verify the ATTRIBUTE variant and + any skill-recompute fanout). +2. Run-speed application: the `[stat-chain]` log line shows server + movement stats applied (`run=15230 ...`) — confirm whether ACE re-sends + run stats after an attribute raise and whether + `PlayerMovementController.ApplyServerRunRate` re-fires; if ACE only + recomputes on next login, the client-side derivation gap in (1) is the + whole bug for speed too. +3. Panel binding: if Runtime state DOES update but the character panel + row caches its value, it is a binding-refresh bug instead (test the + binding seam, claude-memory/feedback_test_the_binding_seam.md). + +Retail derivation is the oracle: grep named-retail for the skill formula +resolution (SkillTable/attribute-formula) before porting any recompute. + +--- + ## #429 — Periodic hitch in the LOCAL player's own motion while running (~2-3 s cadence) **Status:** OPEN @@ -37,6 +87,15 @@ or strafing. Birds and every other world object stay perfectly smooth through the hitch — so it is NOT a frame-time spike; it is the local player's position stepping. +**Owner refinement (2026-08-23, same session):** the hitch persists when +running noticeably slower, and also while running in circles (continuous +turning). Constant-heading-change running makes the AutoPos tracker send +MORE often (heading deltas trigger sends before the interval), so +"hitches in circles too" stays consistent with the correction-loop lead; +"slower run still hitches" weakens a purely speed-magnitude drift story — +the probe run (next probes, item 1) should log correction magnitude vs +speed to separate formula-mismatch from cadence-side effects. + **Evidence gathered at filing:** - 45 s `dotnet-counters` capture while reproducing (Atmospheric pack ON): Gen0 GC every ~6.3 s (cadence mismatch), gen1/gen2 zero, %time-in-GC ~0