The previous spawn fix (radius 20 -> 6) traded one problem for another: hashing only the angle onto a small fixed-radius ring means two names whose hashes land near the same angle bucket (only 360 of them) now separate by just a few pixels of arc instead of dozens, since arc length scales with radius. Confirmed against the actual guest names from a live session (guest-pxj6/guest-rd7o): old algorithm placed them ~11 room units apart, easily close enough for their ~34px graph nodes to visually merge into what looked like a single dot. Now the radius is hashed independently from the angle (8-19 units), so an angle collision no longer implies a full positional overlap. Same test names now land ~27.6 units apart. Still well within the range that keeps audio at full gain (refDistance=4). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>