acdream/tests/AcDream.App.Tests/UI/Layout
Erik ec6eeb120d feat(quest): QT5/QT6 — the Journal panel, and the button that was already there
The quest log is on screen. Rows come from the live tracker joined to the
authored catalog, the Status column runs QT4's port of FillProgressString, and
the detail pane shows contact, locations, description and the other timer.

Two things measured rather than assumed, each now pinned by an installed-DAT
test rather than left to the commit message:

The tab pairing is read from the authored 0x2E table, not inferred from
x-order — the FA campaign had to correct exactly that mistake, and Contracts
turns out to be the authored DEFAULT tab (0x32 = True), so opening on the
wrong one would have looked like an empty panel.

The open path needed no keybind at all. Toolbar button 0x1000055A authors
0x10000029 = 0x19 and has been sitting in ToolbarController.PanelButtonIds
since the toolbar was ported — it just had no panel behind it, so clicking it
did nothing. Registering slot 25 finished a wiring that was already
three-quarters present.

The list rebuild is revision-gated while the repeat countdown is not: nothing
on the wire changes as a cooldown runs down, so a rebuild-gated timer would
freeze on screen, and a per-frame rebuild would reset the player's scroll under
them. Both directions have a test.

Deliberately inert: the Abandon button (retail's abandon path is a
contract-registry command this campaign did not port — authored and visible,
but wiring a no-op handler would look responsive and lie), and the Journal
notes and Page List tabs, which are their own feature.

Campaign QT slices 5 and 6 of 6 — code-complete, connected gate owed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 15:12:05 +02:00
..
fixtures fix(ui): restore retail vitals and window interactions 2026-08-20 13:26:35 +02:00
AppraisalUiControllerTests.cs Revert "Campaign V slice V4a" - it lost world multisampling 2026-07-27 18:29:28 +02:00
CharacterControllerTests.cs feat(render): Campaign V slice V11 commit 1 - delete ImGui, Studio, and the DevTools frontend 2026-07-28 23:56:04 +02:00
CharacterCreationAppearancePageSwatchColorTests.cs fix(chargen): Campaign CC gate round 1 re-test 2 — R3-5/R3-6 color-key swatch/gradient textures 2026-08-16 17:20:31 +02:00
CharacterCreationLiveDatTests.cs test: separate non-hermetic release lanes 2026-08-18 10:49:22 +02:00
CharacterCreationUiControllerTests.cs fix(ui): systemic escape normalization at the string source 2026-08-17 13:26:25 +02:00
CharacterLayoutImportProbe.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
CharacterManagementLiveDatTests.cs test: separate non-hermetic release lanes 2026-08-18 10:49:22 +02:00
CharacterManagementUiControllerTests.cs feat(chargen): Campaign CC slice CC7 — end-to-end create flow + connected checklist 2026-08-16 02:35:21 +02:00
CharacterOptionsPageControllerTests.cs feat(ui): vitals — Side By Side Vitals swaps retail's two vitals windows 2026-08-17 10:40:49 +02:00
CharacterScreensFixedCanvasArbiterTests.cs fix(chargen): Campaign CC CC7 review fix round — F1-F9 — REVIEW-CLOSED 2026-08-16 03:13:02 +02:00
CharacterSheetProviderTests.cs feat(player): port retail augmentation stat chain 2026-07-31 08:08:23 +02:00
CharacterStatControllerTests.cs fix(ui): refresh live skill rows 2026-07-31 08:22:46 +02:00
ChargenColorSpotComposerTests.cs fix(chargen): Campaign CC gate round 1 re-test 2 — R3-5/R3-6 color-key swatch/gradient textures 2026-08-16 17:20:31 +02:00
ChatIndicatorButtonLiveMountProbeTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
ChatLayoutConformanceTests.cs fix(ui): restore retail vitals and window interactions 2026-08-20 13:26:35 +02:00
ChatOptionsDatDefaultsTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
ChatOptionsPageControllerTests.cs test: replace campaign labels with behavior names 2026-08-18 12:25:00 +02:00
ChatTagClickTests.cs feat(chat): CT-A5 — clicking a speaker's name opens a tell 2026-08-21 07:34:58 +02:00
ChatTranscriptRendererTests.cs feat(chat): retail text style — two-plane glyph outlines, authored SpewBox/chat styles 2026-08-10 19:28:34 +02:00
ChatTranscriptRunsTests.cs feat(chat): CT-C2 Escape leaves the entry; CT-C3 the timestamp is grey 2026-08-21 08:28:45 +02:00
ChatWindowControllerTests.cs feat(ui): authored state media animates, so the unseen-text indicator blinks 2026-08-21 11:14:53 +02:00
CombatLayoutConformanceTests.cs Revert "Campaign V slice V4a" - it lost world multisampling 2026-07-27 18:29:28 +02:00
CombatUiControllerTests.cs fix: powerbar mode captions - jump 'Height' + combat 'Power'/'Accuracy' 2026-08-14 08:14:14 +02:00
ConfigOptionsPageControllerTests.cs fix(ui): Options panel Config tab content escapes the window frame — stale viewport anchor capture, not a missing clip 2026-08-17 00:24:33 +02:00
CreatureAppraisalRowsTests.cs Revert "Campaign V slice V4a" - it lost world multisampling 2026-07-27 18:29:28 +02:00
DatRichTextTests.cs fix(ui): systemic escape normalization at the string source 2026-08-17 13:26:25 +02:00
DatStringEscapeSweepTests.cs test: separate non-hermetic release lanes 2026-08-18 10:49:22 +02:00
DatStringResolverTemplateTests.cs build: make release restore reproducible 2026-08-18 10:29:00 +02:00
DatWidgetFactoryFontResolveTests.cs Revert "Campaign V slice V4a" - it lost world multisampling 2026-07-27 18:29:28 +02:00
DatWidgetFactoryTests.cs fix(ui): systemic escape normalization at the string source 2026-08-17 13:26:25 +02:00
DormantDatWidgetConformanceTests.cs test: remove final campaign labels 2026-08-18 13:50:31 +02:00
EffectsUiControllerTests.cs fix(ui): effects list stayed pinned at its authored height in a taller window 2026-08-20 21:00:16 +02:00
ElementReaderTests.cs feat(ui): #409 — client-wide retail tooltip system 2026-08-16 20:03:24 +02:00
ExternalContainerControllerTests.cs Revert "Campaign V slice V4a" - it lost world multisampling 2026-07-27 18:29:28 +02:00
FaPanelSlotProbeTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
FixtureLoader.cs feat(ui): Map/House panel — slices 2+3, panel shell + Map tab 2026-08-17 02:04:19 +02:00
FloatingChatLayoutConformanceTests.cs fix(chat): CH6a/b rework — grip media, retail window-id model, floaty fixture 2026-08-10 13:09:32 +02:00
FloatingChatWindowControllerTests.cs feat(chat): Campaign CH slice CH6b — floating chat windows 1-4 2026-08-10 12:10:20 +02:00
IndicatorBarControllerTests.cs fix(movement): invalidate burden on enchantment changes 2026-07-31 10:16:27 +02:00
IndicatorDetailPanelControllerTests.cs fix(ui): restore effect detail scrolling 2026-07-17 13:28:18 +02:00
InventoryControllerTests.cs fix(ui): restore retail vitals and window interactions 2026-08-20 13:26:35 +02:00
InventoryFrameImportProbe.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
ItemAppraisalTextFormatterTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
ItemCooldownUiControllerTests.cs Revert "Campaign V slice V4a" - it lost world multisampling 2026-07-27 18:29:28 +02:00
ItemListCellTemplateTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
JournalContractsPageControllerTests.cs feat(quest): QT5/QT6 — the Journal panel, and the button that was already there 2026-08-21 15:12:05 +02:00
JournalPanelSlotProbeTests.cs feat(quest): QT5/QT6 — the Journal panel, and the button that was already there 2026-08-21 15:12:05 +02:00
JumpPowerbarControllerTests.cs feat(ui): port retail jump power bar 2026-07-13 10:22:12 +02:00
JumpPowerbarLayoutConformanceTests.cs Revert "Campaign V slice V4a" - it lost world multisampling 2026-07-27 18:29:28 +02:00
KeyboardConfigControllerTests.cs fix #394 #395 #396: OP8 re-gate round — caption font, retail key names, capture dialog 2026-08-14 13:45:55 +02:00
KeyboardConfigLiveMountProbeTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
LayoutConformanceTests.cs feat(ui): port retained widget foundations 2026-07-10 17:55:41 +02:00
LayoutImporterMediaBearingChildSweepTests.cs test: separate non-hermetic release lanes 2026-08-18 10:49:22 +02:00
LayoutImporterTests.cs feat(ui): #409 — client-wide retail tooltip system 2026-08-16 20:03:24 +02:00
MapHousePanelControllerTests.cs fix(ui): morning gate — map town markers: green rollover highlight + the authored map-note tooltip skin/font 2026-08-17 09:22:46 +02:00
MapHousePanelLiveDatMountTests.cs test: separate non-hermetic release lanes 2026-08-18 10:49:22 +02:00
MapHousePanelSlotProbeTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
MapNoteLiveDatTests.cs test: separate non-hermetic release lanes 2026-08-18 10:49:22 +02:00
MapPageControllerTests.cs fix(ui): Map tab player/house icon resolution — build the button-swallowed icons from the panel-slot resolve tree, detached from the per-frame layout pass 2026-08-17 05:58:17 +02:00
MouseTurningSettingsMacroTests.cs feat(ui): Campaign OP slice OP3 — Options panel shell, open paths, Gameplay tab 2026-08-11 02:14:40 +02:00
OptionPageModelTests.cs fix(ui,runtime): OP4 re-review residuals R1-R4 (coordinator pass) — OP4 CLOSED 2026-08-11 06:36:14 +02:00
OptionsPanelControllerTests.cs fix #381: Options-panel footer needs an opaque backing field 2026-08-11 23:01:43 +02:00
OptionsPanelLayoutConformanceTests.cs test: remove final campaign labels 2026-08-18 13:50:31 +02:00
OptionsPanelLiveMountProbeTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
PaperdollClickMapTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
PaperdollControllerTests.cs Revert "Campaign V slice V4a" - it lost world multisampling 2026-07-27 18:29:28 +02:00
PaperdollSlotBackgroundTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
PaperdollToggleTests.cs feat(D.2b): Slice 2 — paperdoll armor/non-armor partition + Slots toggle state 2026-06-23 08:57:50 +02:00
PowerbarLayoutProbeTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
RadarControllerTests.cs fix(ui): restore retail vitals and window interactions 2026-08-20 13:26:35 +02:00
RadarLayoutConformanceTests.cs feat(ui): port retail radar and compass 2026-07-10 16:14:37 +02:00
RadarSnapshotProviderTests.cs refactor(app): key live projections by runtime identity 2026-07-25 21:50:58 +02:00
RetailDialogFactoryTests.cs fix(ui,net): Campaign LA gate round 2 — char-select exit confirmation, authored row justify, world name 2026-08-15 11:50:45 +02:00
RetailFixtureConformanceTests.cs feat(ui): port retail appraisal panel 2026-07-23 11:34:08 +02:00
RetailFpsControllerTests.cs fix #213: complete suicide and framerate presentation 2026-07-13 15:50:47 +02:00
RetailKeyNamesTests.cs fix #394 #395 #396: OP8 re-gate round — caption font, retail key names, capture dialog 2026-08-14 13:45:55 +02:00
RetailLayoutFixtureGenerator.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
RetailPanelUiControllerTests.cs fix(ui): OP3 review fixes — byte-verified Magic chat lines, Gameplay/OptionPage shape, mid-air tri-state, shared geometry 2026-08-11 03:05:27 +02:00
RetailStringEscapesTests.cs fix(ui): systemic escape normalization at the string source 2026-08-17 13:26:25 +02:00
RetailTooltipPresenterTests.cs fix(ui): morning gate — world tooltips ride retail's mouse-idle dwell, not the found edge 2026-08-17 08:49:11 +02:00
RetailWindowFrameTests.cs Revert "Campaign V slice V4a" - it lost world multisampling 2026-07-27 18:29:28 +02:00
RowTemplateResolverTests.cs feat(ui): FA4 -- fellowship page fully live 2026-08-12 04:40:53 +02:00
SelectedObjectControllerTests.cs test: remove final campaign labels 2026-08-18 13:50:31 +02:00
SocialFellowshipPageControllerTests.cs fix: social panel completion batch (user gate 2026-08-13, "fix all") 2026-08-13 19:30:51 +02:00
SocialPanelControllerTests.cs fix: social panel completion batch (user gate 2026-08-13, "fix all") 2026-08-13 19:30:51 +02:00
SocialPanelLiveMountProbeTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
SpellbookRowStyleTests.cs test: make prerequisite lanes fail honestly 2026-08-18 12:09:41 +02:00
SpellbookWindowControllerTests.cs feat: regen buffs, wand aura, spellbook assess, indicator press flash 2026-08-20 20:38:28 +02:00
SpellcastingUiControllerTests.cs fix(ui): night-round review — F3/F4/F7 cast-button tooltip strings 2026-08-17 04:39:17 +02:00
SpellExamineComponentTemplateFactoryTests.cs Revert "Campaign V slice V4a" - it lost world multisampling 2026-07-27 18:29:28 +02:00
ToolbarControllerTests.cs fix(ui): restore retail vitals and window interactions 2026-08-20 13:26:35 +02:00
ToolbarInputControllerTests.cs feat(ui): complete retail quick-slot input 2026-07-11 08:59:49 +02:00
TooltipLiveDatTests.cs test: separate non-hermetic release lanes 2026-08-18 10:49:22 +02:00
UiButtonCorpusSweepTests.cs test: separate non-hermetic release lanes 2026-08-18 10:49:22 +02:00
UiDatElementTests.cs fix #416 #415: the retail button state/media machine — roster hover highlight clears; probe wait verbs bind without an artifact dir 2026-08-17 16:25:36 +02:00
UiMediaSequenceTests.cs feat(ui): authored state media animates, so the unseen-text indicator blinks 2026-08-21 11:14:53 +02:00
UiPropertyBagTests.cs feat(chat): retail text style — two-plane glyph outlines, authored SpewBox/chat styles 2026-08-10 19:28:34 +02:00
UiTextLayoutCacheTests.cs test(app): put every strict-zero site on the probe (#250) 2026-07-29 03:49:13 +02:00
UiViewportFactoryTests.cs Revert "Campaign V slice V4a" - it lost world multisampling 2026-07-27 18:29:28 +02:00
VendorUiControllerTests.cs fix: retail text and golden-string tests must not follow the machine's locale 2026-08-19 19:56:09 +02:00
VitalsBindingTests.cs feat(ui): port retained widget foundations 2026-07-10 17:55:41 +02:00
VitalsDetailToggleTests.cs fix(ui): gate — no void frames around the login wormhole; vitals icons centered 2026-08-17 12:30:51 +02:00
VitalsSideBySideControllerTests.cs feat(ui): vitals — Side By Side Vitals swaps retail's two vitals windows 2026-08-17 10:40:49 +02:00
VividTargetIndicatorLayoutTests.cs feat(selection): port retail offscreen target indicator 2026-07-18 07:41:12 +02:00