acdream/src/AcDream.Runtime/Session
Erik 0a7dc7d626 fix(runtime,ui): Campaign LA gate round 2 — world name reads durably; dialogs center on the canvas
Two live-integration gaps the ef96c554 unit tests could not see:

1. World box stayed empty against ACE: ServerName (0xF7E1) arrives in the
   SAME connect batch as CharacterList, so ServerNameReceived fires during
   the handshake pump BEFORE the controller binding subscribes - the
   event-only wiring proved the state and controller but never the live
   ordering. StartCore now reads the durable WorldSession.ServerInfo after
   connect exactly like the roster (ILiveSessionOperations.GetServerInfo,
   default interface method so no fake breaks); the event remains for
   post-connect updates. Pinned by a Start-level test.

2. The exit confirmation rendered far right of the screen: all three
   retail dialog views centered against the raw window size while the
   active screen lays out in the fixed 800x600 canvas - center-of-1920
   is canvas-760, which the stretch pushes off-center. Views now center
   against UiRoot.EffectiveCanvasSize (canvas while a pre-world screen is
   active, window otherwise). Pinned by growing the window over the fixed
   canvas in the exit-dialog test and asserting the scrim spans the canvas
   with the popup centered at 400.

Runtime 1666, App 5100+6 skips, green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 12:02:33 +02:00
..
DirectGameRuntimeCommandAdapter.cs feat(runtime): own character selection flow 2026-08-14 18:22:17 +02:00
LiveSessionContracts.cs feat(runtime): own character selection flow 2026-08-14 18:22:17 +02:00
LiveSessionController.cs fix(runtime,ui): Campaign LA gate round 2 — world name reads durably; dialogs center on the canvas 2026-08-15 12:02:33 +02:00
LiveSessionEventRouter.cs fix: trade gate round 4 - "The trade has been cancelled." + retail's 2026-08-14 12:45:10 +02:00
LiveSessionHost.cs feat(runtime): share chat commands and run login sequence 2026-08-14 20:27:45 +02:00
LiveSessionLifecycleHost.cs docs: Campaign LA — pinned launch-contract schema COMMITTED into plan LA1 2026-08-14 16:04:32 +02:00
RuntimeAcceptedPositionDriveController.cs refactor(physics): delete legacy PhysicsEngine.Resolve/ResolvePlacement/HasCellSurface (C5a, AP-1/AD-1) 2026-08-05 14:11:31 +02:00
RuntimeCharacterSelectionState.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
RuntimeFirstEntryDriveController.cs fix(runtime): transient collision-seal failure no longer terminal for login (#357) 2026-08-09 12:32:53 +02:00
RuntimeLiveEntitySessionController.cs fix(headless,runtime): OP7 review fixes + docs: OP3 re-review REOPEN (narrow) 2026-08-11 03:22:54 +02:00
RuntimeRemotePlacementDriveController.cs fix(physics): C4 route 7 — child cell propagation moves from a render tick into Runtime 2026-08-04 23:53:05 +02:00
SessionStatusWriter.cs feat(runtime): share chat commands and run login sequence 2026-08-14 20:27:45 +02:00
TurbineChatDisplayNames.cs feat(chat): Campaign CH slice CH1 — retail LogTextType color table 2026-08-09 15:24:09 +02:00