1. Collision cook breakdown (request -> ready), critical support tile:
spawn (0,0,-1): generate 107 ms, apply < 1 ms, RMC submit->body 479 ms, total 587 ms;
deep floor (0,0,-7): generate 82 ms, RMC 1,441 ms, total 1,548 ms.
Almost all of the wait is inside RMC (end-of-frame update + async pool + Chaos cook + body
install, not separable from our side). Critical priority does not shorten it. Collision is
async, complex-as-simple, fast-cook off; skirts are ~16-18% of collision triangles.
No cook change made. Startup outlier: first support tile waited 2.09 s for its game-thread apply.
Underfoot dig: a carving brush that intersects the pawn's capsule and support tile now
disables the old body and withdraws readiness on the carve frame: 0 frames standing on removed
ground (replacement 91.8 ms later). 8 neighbouring digs: 0 gate frames. Gap audit 0.
2. Stack sampler, 49.4 s game path: top resolved leaf was the profiler's own
VoxelDensityProfile::BucketFromName (4.86%). Linear label scan -> CRC-keyed lookup with exact
compare: 59.26 -> 57.87 ms/tile (-2.35%), 980/980 tile hashes identical.
3. Measured only: F (classifier mode 1, no exact check) +48% worker CPU, 0/980 tiles differ ->
not worth it. H (handoff component scans) p95 0.07 ms/frame -> not worth it.
E (FullResClipLevels=1): worker CPU 56.7 -> 35.7 s, settle 9.6 -> 7.0 s, crossing samples
-30%; changes the look, owner's decision.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ