Lilith Metaverse · Reference & analysis

V3 Cold Join Validation

A reference & analysis document in the Lilith Metaverse library.

0sections1 minread1table

On this page

Canonical source: libs/oshun/analytics/src/v3-cold-join-budget.ts

Evidence artifact: V3/validation/cold-join-validation.json

Manifest version: v3-cold-join-budget.v1

The Lilith native UE cold-join gate validates the path from the "join room" tap to a fully-rendered standard-fidelity Atrium scene. The deterministic harness uses 96 cold-asset-cache samples for the native_ue client, a Class-tier standard-fidelity visible set of 32 entities, a 60 fps render target, and the 5,000 ms p95 launch budget from V3/V3_TODOS.md §66.11.

Phase Budget p50 p95 Max
tap_to_room_ticket 500 ms 444 ms 467 ms 469 ms
room_ticket_to_world_shard 650 ms 552 ms 585 ms 589 ms
world_shard_to_initial_snapshot 750 ms 656 ms 695 ms 699 ms
snapshot_to_standard_fidelity_assets 1.7 s 1.50 s 1.58 s 1.59 s
assets_to_avatar_spawn 650 ms 559 ms 595 ms 599 ms
avatar_spawn_to_fully_rendered_frame 900 ms 790 ms 835 ms 839 ms
Join tap to fully-rendered scene 5.0 s 4.51 s 4.62 s 4.68 s

The gate is anchored to apps/v3/lilith-world-server/src/lib.rs, where simulate_native_ue_cold_join exercises the actual room spawn, room join, and authoritative initial snapshot broadcast path before calculating the cold-join percentiles. It is also mirrored in V3/ue/Source/V3World/Private/V3World.cpp and covered by the UE automation test V3.World.Atrium.ColdJoinStandardFidelityUnderFiveSeconds, which validates the same phase budgets, render milestones, and 5 s fully-rendered scene threshold.

pnpm verify:v3 cold-join fails closed when the native UE profile is missing, the budget is weakened, the run count is below 96, standard fidelity or the authoritative snapshot is not present, the first fully-rendered frame is not presented, any phase p95 exceeds its budget, total p95 or max exceeds 5 s, percentiles are inconsistent, or the source/doc/evidence/UE automation wiring is missing.