- The voidwalker's eye glow vanished whenever the camera rose above eye level.
Three investigations said depth; measuring the depth buffer inside the live
quads said otherwise — the fragments reached the framebuffer every frame, and
the body's own transparent batches painted over them. The real client draws a
model's particles after that model's batches, always. Ours now does: every
effect carries a draw-order rung sized to clear exactly its own model.
- Widened to every effect family after asking "what else does this fix": ribbon
trails (a wisp's streamers wove six batches deep into its own body and
flickered as the head whipped) and 3-D model particles (Cone of Cold's
shards). A census over all 9,691 models found 967 whose own body could paint
over their effects; all take the rung now.
- The skinning lane is ours end to end: every rig's joint matrices live in our
shared GPU buffer, written only when a rig actually moved, and our shader
reads them. The engine's lane rewrote the entire joint buffer every frame and
swept every entity in the world for changed transforms — that machinery now
runs against empty sets. Another 6.7 CPU ms off the worst reported dungeon
spot, which now holds a flat 60 fps with p99 under 19 ms.
- Getting around while developing: Ctrl+Cmd+G lands your character where the
free-fly camera is, and Alt-clicking the world map teleports you there (both
ride the server's own teleport, GM-gated). The frozen-body coordinates the
panel used to copy while flying now follow the camera.
- A stuck main thread now diagnoses itself: a watchdog samples our own stacks
and prints where the time went, and a hung teardown names its last system
instead of hanging the window.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>