fix(ui,runtime): Campaign LA gate-round-2 batch-review fixes F1,F3-F8; file #401
F1 (MUST-FIX): RetailWaitDialogView was the ONE dialog view the 0a7dc7d6
EffectiveCanvasSize sweep missed - the Entering World wait dialog (fires
on ENTER, the char screen primary action) still centered against the raw
window and landed off the visible canvas. Same three-line fix as its three
siblings; the enter-wait test now grows the window over the fixed canvas
and asserts canvas-space centering.
F3/F4: two stale assertions about the DELETED first AD-98 substitution
(the register section-2 header line and the live-DAT oracle test doc) now
describe the completed FixedCanvasSize mechanism - the C4-closeout failure
mode, caught before it cost anything.
F5: RetailDialogData.Confirmation sets ElementAttribute40 itself (retail
MakeConfirmExitDialog writes 0x8E=1, 0xAC=1, 0xC5); the manual set in
GameplayConfirmationController is gone.
F6: MapWindowToCanvas truncates instead of rounding - rounding mapped the
window far edge one past the canvas last valid coordinate, a 1px dead
hit-test band; test updated to truncation semantics + far-edge case.
F7: AD-98 records that the no-letterbox aspect claim has no decomp
citation and is confirmed by the user live gate pass 2026-08-15.
F8: the durable world-name read in StartCore is IsCurrent-gated like every
neighbouring step.
F2 filed as #401 (invert RetailUi to opt-out - product-default decision,
not a gate fix).
App 5100+6 skips, Runtime 1666, green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
36c14902a8
commit
0baebce262
10 changed files with 87 additions and 19 deletions
|
|
@ -24,6 +24,32 @@ 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.
|
||||
|
||||
## #401 — RetailUi should default ON (opt-out), not per-path forced
|
||||
|
||||
**Status:** OPEN (product-default decision)
|
||||
**Severity:** MEDIUM (recurrence risk)
|
||||
**Filed:** 2026-08-15 (Campaign LA gate-round-2 batch review, F2)
|
||||
**Component:** `src/AcDream.App/RuntimeOptions.cs`
|
||||
|
||||
`RetailUi` still parses opt-IN from `ACDREAM_RETAIL_UI` (default false), and
|
||||
`6e1c0967` forces it true on exactly one call site (the session-config
|
||||
launch path). Any other product entry point — including CLAUDE.md's
|
||||
documented plain `dotnet run` dev launch — still boots world rendering with
|
||||
zero interface, the same trap one caller later. The ImGui frontend is gone
|
||||
(Campaign V), so `RetailUi == false` means "no UI at all"; the review
|
||||
confirmed nothing legitimately needs that in a product or test path.
|
||||
|
||||
**Fix direction:** invert the flag — retail UI on by default,
|
||||
`ACDREAM_RETAIL_UI=0` as the dev opt-OUT — and delete the per-path forcing
|
||||
in `RuntimeOptions.FromSessionConfig`. Sweep launch scripts/docs
|
||||
(CLAUDE.md's launch command, test-script env listings) for stale
|
||||
`ACDREAM_RETAIL_UI=1` mentions in the same change. Also pin the currently
|
||||
untested "explicit `ACDREAM_RETAIL_UI=0` alongside a session config is
|
||||
ignored" behavior — or make the inversion moot it.
|
||||
|
||||
**Acceptance:** every launch path shows the retail UI unless explicitly
|
||||
opted out; the forcing is gone; docs updated.
|
||||
|
||||
## #400 — Character select: Credits button is ghosted; retail opens gmCreditsUI
|
||||
|
||||
**Status:** OPEN (post-LA polish)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue