probe: ACDREAM_PROBE_REVEAL_TIMING — wall-clock attribution of the login/portal hold

[reveal-timing] lines from the reveal coordinator: per-dimension
first-ready edges (render neighborhood, composite textures, collision,
gate, materialization), 1 Hz progress with the resident-landblock count
(new GpuWorldState.LoadedLandblockCount), and one SUMMARY line at the
viewport reveal. Measurement-first groundwork for the login-load speedup:
the readiness barrier observes its dimensions serially, so the edges give
each dimension's observed tail while the progress lines expose the
pacing shape (a budget-paced linear drip reads directly off the counts).
Probe-gated in StreamingDiagnostics per Code Structure Rules §5; no
behavior change, one branch per Evaluate poll when unset.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-08-17 19:04:15 +02:00
parent 0bb47f2711
commit 695a27b48a
5 changed files with 190 additions and 2 deletions

View file

@ -198,6 +198,10 @@ public sealed class GpuWorldState : ILiveEntitySpatialQuery
/// that need to enumerate entities before the landblock is dropped
/// (e.g. unregistering dynamic lights on a RemoveLandblock).
/// </summary>
/// <summary>Resident landblock count — reveal-timing probe progress
/// lines only (<see cref="RevealTimingProbe"/>).</summary>
public int LoadedLandblockCount => _loaded.Count;
public bool TryGetLandblock(uint landblockId, out LoadedLandblock? lb)
{
if (_loaded.TryGetValue(landblockId, out var found))