test(ui): FA3 -- social panel fixture dump, live-mount probe, conformance tests

- RetailLayoutFixtureGenerator dumps LayoutDesc 0x2100006E slot
  0x1000018F to the committed social_panel_2100006E_1000018F.json
  fixture, closing lane-A unknowns U3/U4/U6/U7/U10 with real DAT data
  (geometry/media/fonts/base refs, the fellowship empty/full frame
  containment, the panel/page P0x57 properties, the row-template arrays).
- SocialPanelLiveMountProbeTests exercises the PRODUCTION mount path
  against the live DATs (ACDREAM_PROBE_LIVE_MOUNT=1): the tab host
  resolves as UiTabPanel with its 4-entry table, all four pages resolve,
  the fellowship frame pair and allegiance signature elements resolve,
  0x10000492 is confirmed authored twice under the allegiance page, and
  every tab button caption is non-empty (the #375 resolver class).
- SocialPanelControllerTests pins the fixture-driven conformance: the
  real (coordinator-addendum-correcting) tab table and default entry,
  the Fellowship/Allegiance empty-state gates, Friends/Squelch row
  population and revision-driven rebuilds, and the D1 INERT-button
  contract (AD-79) via
  FriendsAndSquelchActionButtons_AreClickable_ButHaveNoHandler.
- RetailPanelCatalogTests gains the SocialPanel id/window-name/
  Mounted-not-Toolbar pins (lane A §6.1: no toolbar button).

Note: the ACDREAM_REGENERATE_UI_FIXTURES=1 run used to produce the new
fixture also touched keyboard_config_21000009.json and
options_2100002B.json on this machine (unrelated installed-DAT drift,
likely from local DAT-editing tooling) -- both were reverted to HEAD
before this commit; only the new social panel fixture is included.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-08-12 02:58:28 +02:00
parent 0a9ca2f1f9
commit 74c3d85d37
6 changed files with 40568 additions and 0 deletions

View file

@ -147,6 +147,12 @@ public sealed class RetailLayoutFixtureGenerator
"vendor_21000012_100000B7.json"),
(OptionsPanelController.HostLayoutId, OptionsPanelController.SlotElementId,
"options_panel_2100006E_1000018D.json"),
// Campaign FA slice FA3: the four-tab social panel (Friends/
// Allegiance/Fellowship/Squelch), coordinator addendum
// (docs/research/2026-08-11-fa-panel-structure.md §10) — closes
// lane-A unknowns U3/U4/U6/U7/U10.
(SocialPanelController.HostLayoutId, SocialPanelController.SlotElementId,
"social_panel_2100006E_1000018F.json"),
})
{
ElementInfo? panelPart = LayoutImporter.ImportInfos(dats, layoutId, rootId);