acdream/docs/research/2026-08-13-display-block-test-script.md
2026-08-13 17:29:28 +02:00

66 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Display & resolution block — connected-gate test script
**Status: slices D1 (#389 FOV) and D2 (#391 curated list) are LANDED and
testable now; D3 (#390 UI reposition) and D4D6 (fullscreen family
#377/#376/#388) fill in as they land.** Launch with `ACDREAM_RETAIL_UI=1`
against local ACE, **Release** build for anything you judge by feel or
frame rate. The resize/display chain logs evidence permanently — after any
step you can cross-check `display: resolution pick`, `window: framebuffer
resize event`, and `vulkan: swapchain recreated` lines in the launch log.
---
## §D1 — Widescreen FOV feel (#389, SmartboxFOV)
The world camera now uses retail's law: your horizontal view stays roughly
constant (~84° at 16:9) and wide screens trim the vertical slice instead of
bloating the sides. Your stored Field of View migrates 60 → 90 (the retail
default) on first load.
1. **Just look at the world** on your 16:9 window at your usual spot
(Holtburg outdoors is ideal). Compared to yesterday: the view should
feel slightly more "zoomed"/framed — retail's framing — rather than the
old wide-angle look. If you have retail side-by-side, the framing should
now match it at the same window shape.
2. **Resize the window across shapes** (drag it narrow, then wide). The
world must stay geometrically true at every shape — no squish, no
stretch, circles stay circles (pre-#389, mid-session resizes distorted
the world in chase mode; that bug is dead).
3. **F11 → Config → Field of View slider.** It now means retail's gameFOV
in degrees (10160, default 90) and applies LIVE as you drag —
the world widens/narrows immediately, no restart. Defaults restores 90.
4. Set it back to 90 when done (or click Defaults).
## §D2 — Curated resolution list (#391)
1. **F11 → Config → Resolution dropdown.** The list is now your monitor's
real modes, modern widescreen only: no 800x600, no 1024x768, nothing
your 2560x1440 desktop can't host (no 3840x2160 entry). Expect roughly:
1280x720 / 1366x768 / 1600x900 / 1920x1080 / 2560x1440 — exactly what
your monitor reports, one entry per size.
2. **Pick a few.** Every pick must land exactly (window resizes AND
re-renders crisp — §the #387 chain), including 2560x1440.
3. **Click Defaults.** The Resolution row restores **2560x1440** (your
desktop's own mode — the deliberate replacement for retail's 800x600
default; register row IA-22), and the dropdown shows it selected.
## §D3 — UI windows stay reachable on downscale (#390) — PENDING SLICE
*(To be filled in when the retail reposition mechanism lands. The test
shape will be: park panels near the right/bottom edges at 2560x1440, pick
1280x720, and confirm every window is still reachable per retail's rule.)*
## §D4§D6 — Fullscreen family (#377/#376/#388) — PENDING SLICES
*(To be filled in when the fullscreen slices land. Will include: fullscreen
on/off via the Config checkbox, resolution picks while fullscreen becoming
REAL display-mode switches — **[BLACK-SCREEN RISK]** steps will be flagged:
have Alt+F4 / the physical power of patience ready — and the #388 crash
scenario surviving: a fullscreen-state settings apply must never take the
client down.)*
---
**Carried context for the gate:** the FPS cost of large windows is real
physics (more pixels = more GPU work) — judge frame rate in Release only.
The title bar shows live FPS.