feat(world): port retail portal-space viewport

Replace the opaque teleport cover with the DAT-authored CreatureMode tunnel, exact retail camera/light/animation timing and easing, and animation-hook audio routing. Compose portal and fade passes below retained UI so gameplay windows and input remain active through F751 travel.

Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-15 21:59:23 +02:00
parent 0eab7497c1
commit eab23cbdd1
14 changed files with 983 additions and 45 deletions

View file

@ -26,11 +26,11 @@ namespace AcDream.Core.Net.Messages;
/// </list>
///
/// <para>
/// Should be sent immediately after <c>CharacterEnterWorld</c> (0xF657)
/// completes the in-world transition. Retail clients send it once the
/// portal-space transition animation finishes; we send it as soon as we
/// flag the session <c>InWorld</c> because acdream doesn't have a portal-
/// space animation yet.
/// Retail clients send it once the portal-space transition animation finishes.
/// acdream's F751 teleport path now does the same through
/// <c>TeleportAnimSequencer.FireLoginComplete</c>. Initial session bootstrap
/// still sends from the PlayerCreate handler; that remaining ordering gap is
/// tracked as TS-28 in the divergence register.
/// </para>
/// </summary>
public static class GameActionLoginComplete