From aa07baed42d9c4735dd5c6ea3dfa1dff04e7d517 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 30 Jul 2026 08:21:51 +0200 Subject: [PATCH] feat(diag): #262 - wire the permanent [snap] login/teleport diagnostic (Campaign P P6) PhysicsEngine.DiagnosticLog was never assigned in production, so the #111 [snap] apparatus (one line per entry-snap Resolve, low volume by design) was structurally silent - including on the Coldeve run-on-the-spot login. Wire it at session composition; a session reset constructs a fresh engine and re-wires. Co-Authored-By: Claude Opus 5 --- src/AcDream.App/Composition/SessionPlayerComposition.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/AcDream.App/Composition/SessionPlayerComposition.cs b/src/AcDream.App/Composition/SessionPlayerComposition.cs index cd6ae920..d7ae0328 100644 --- a/src/AcDream.App/Composition/SessionPlayerComposition.cs +++ b/src/AcDream.App/Composition/SessionPlayerComposition.cs @@ -354,6 +354,14 @@ internal sealed class SessionPlayerCompositionPhase // every other reveal condition (streaming residence, spawn-cell // readiness, terrain residence, quiescence) is unchanged. WbDrawDispatcher? revealDispatcher = live.DrawDispatcher; + // #262 (Campaign P P6): the #111 [snap] apparatus was designed as a + // permanent low-volume diagnostic (one line per login/teleport entry + // snap) but PhysicsEngine.DiagnosticLog was never wired in production, + // so the 2026-07-29 Coldeve acceptance log was structurally silent on + // which Resolve branch the run-on-the-spot login took. Wire it per + // session composition (a session reset constructs a fresh engine). + d.PhysicsEngine.DiagnosticLog = + static line => System.Console.WriteLine(line); var revealRenderResources = new WorldRevealRenderResourceScheduler( foundation.MeshAdapter is { } revealMeshes ? revealMeshes.SetDestinationRevealUploadPriority