acdream/src/AcDream.App/Net
Erik 0bb47f2711 fix #417: world ambience kept playing at character select after the in-world logoff
The character-session reset manifest had no audio step: retail's logoff
destroys the world's sound sources with the world, but our OpenAL world
pool and ambient scheduler are process-lifetime — the continuous ambient
beds played on at character select and the scheduler kept RE-FIRING
deadlines against the stale listener (Suspend/StopAll had zero callers;
WorldGenerationQuiescence only cycles around teleport-style generation
replaces).

New WorldAudioSessionGate: the reset manifest's 'world audio' step stops
all sixteen world-pool voices (SuspendWorldAudio) and drops every ambient
deadline (StopAll); the pool reopens at the entered-world edge through the
new default-null LiveSessionEnteredWorldBindings.ResumeWorldAudio binding,
invoked first in ApplyEnteredWorld. The ambient soundscape needs no
explicit resume — the next objcell observation rebuilds it exactly as a
cell change always did. Covers logout, reconnect, and full stop uniformly.
UI-pool sounds (interface bank, portal cues) untouched by design.

App tests 5568/3 skips, Runtime 1756/0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-17 18:46:04 +02:00
..
GraphicalSessionEventRoute.cs feat(physics): C4 route 4b-2 — remote far snap through the canonical placement 2026-08-04 07:55:56 +02:00
ILiveInWorldSource.cs feat(runtime): share chat commands and run login sequence 2026-08-14 20:27:45 +02:00
LiveEntitySessionController.cs feat(audio): Campaign A slice A3 — the server sound channel (0xF750) 2026-08-08 22:07:23 +02:00
LiveMovementStatsApplier.cs feat(runtime): C3c - production placement cutover: both hosts on the residence conductors (routes 1+8) 2026-08-02 18:10:33 +02:00
LiveSessionAppSource.cs refactor(runtime): move session lifetime and ordered transport 2026-07-25 19:39:24 +02:00
LiveSessionCommandRouter.cs feat(runtime): share chat commands and run login sequence 2026-08-14 20:27:45 +02:00
LiveSessionResetManifest.cs fix #417: world ambience kept playing at character select after the in-world logoff 2026-08-17 18:46:04 +02:00
LiveSessionResetPlan.cs refactor(runtime): unify generation reset for direct hosts 2026-07-27 00:43:26 +02:00
LiveSessionRuntimeFactory.cs fix #417: world ambience kept playing at character select after the in-world logoff 2026-08-17 18:46:04 +02:00
RetailSkillFormula.cs fix(ui): night-round review — F11/F13/F14/F15 one-liners 2026-08-17 05:06:17 +02:00
RuntimePlacementProjectionRetrySlot.cs feat(app): observe canonical placement receipts 2026-08-01 15:22:52 +02:00
StaminaExhaustionEdgeTracker.cs test(physics): pin issue 270 animation fixes 2026-07-31 07:47:06 +02:00