docs: file #378-#382 — Campaign OP gate-4 findings (user screenshots)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-08-11 19:25:17 +02:00
parent a59e077a66
commit 28bef4e03b

View file

@ -24,6 +24,70 @@ 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.
## #382 — Floating chat-window tab buttons are invisible until first hovered
**Status:** OPEN — filed 2026-08-11 at Campaign OP gate 4 (user report with
screenshots). The side chat windows' numbered tab buttons render NOTHING in
their resting state — only once the pointer hovers one does it paint its
correct orange numbered-button art (the user's third screenshot shows the
correct post-hover look). So the un-hovered/Normal state's media is not
being drawn (or the button starts in a state with no StateDesc media) while
the Highlight state works. Investigate the CH6 chat-window tab buttons'
state/sprite wiring at the live mount — evidence first (which state id the
button starts in, what media that state resolves) — before fixing.
## #381 — Options-panel footer (Apply/Reset/Defaults) needs an opaque backing field; list content shows through between the buttons
**Status:** OPEN — filed 2026-08-11 at Campaign OP gate 4 (user report).
The Apply/Reset/Defaults row draws its three buttons directly over the
page content, so scrolled rows/text remain visible between and behind
them. Retail's tabs give that footer strip its own solid rectangular
field (no border) that occludes the content underneath. Fix: an opaque
borderless backing panel behind the footer button row on every page that
has the three buttons (Character/Chat/Config, and the equivalent strip on
Configure Keyboard if its authored layout shows the same bleed-through).
Check first whether the authored LayoutDescs carry such a field element
we fail to draw (preferred: draw the authored one) before synthesizing.
## #380 — Chat tab: the two opacity sliders are missing their retail row captions
**Status:** OPEN — filed 2026-08-11 at Campaign OP gate 4 (user report:
"I also miss the text next to the bars for Inactive and Active Opacity").
acdream's General Chat Options section renders the two sliders with only
the Transparent/Opaque endpoint labels; retail also captions each slider
row (inactive vs active opacity). Resolve the captions from the authored
layout/DAT strings (never invented English) — check whether the authored
elements exist and fail to resolve (the #375 resolver class) or are
missing from our template handling.
## #379 — Chat-window opacity applies to ALL retained windows/panels, not only the chat windows
**Status:** OPEN — filed 2026-08-11 at Campaign OP gate 4 (user report:
"When I change the opacity for the chat window only the chatwindows shall
change not the other panels"). Retail's ChatInterface::SetOpacity scopes
the transparency pair to the chat windows; acdream's
`RetailWindowOpacityController` (CH6c) is applying the pair to other
retained panels too. Determine the exact retail scope (main chat + the
four floating chat windows only?) from the decomp before narrowing, then
scope the controller's application set to it.
## #378 — Config-tab dropdown menus render bare (no button well, no arrow) and no popup opens on click
**Status:** OPEN — filed 2026-08-11 at Campaign OP gate 4 (user
screenshots: retail's Resolution row shows a sunken value well + green
arrow cap; acdream's same rows — Resolution, Sound Features, all the
Config menus — render as bare text like "Stereo"/"1280x720" with NO
button chrome, and clicking produces NO visible dropdown). This is the
user-facing residual behind #374: the pointer-routing fix landed, but the
menu widget itself isn't presenting at the live mount. Candidate family
(to CONFIRM with the live-mount probe, not assume): the Config row
template's Type-6 menu element's button-face/arrow/popup sprites not
resolving at build (so the popup may even "open" while drawing nothing) —
the same fixture-green/live-broken class as #372/#375. The probe must
dump the built UiMenu's sprite ids + SpriteResolve wiring for a Config
row versus the working chat-channel menu. Blocks the OP6 gate's
resolution step (#374's re-test) and every other Config menu row.
## #377 — Startup CRASH (0xC0000005 in Glfw.GetVideoMode) when settings.json has `fullscreen: true`
**Status:** OPEN — filed 2026-08-11. Reproduced deterministically on this