arena: fix grenade coord convention + lava-respawn lock
The arena uses cam.x / cam.z directly as logical world X/Z (same coord
that Form.position[0/2] and tileAt accept) — I had double-flipped both,
so the grenade spawned behind the player and rendered mirrored. Now
matches the hover-ray exactly: position is (cam.x, -cam.y, cam.z) and
forward is (-fx, fy, -fz).
Also fix two follow-on issues:
- Explosion impulse direction was inverted on X/Z (cam-doll's applyImpulse
expects worldVx in its own convention where cam.x = -worldX), so the
blast pushed inward instead of outward; pass negated x/z now.
- After a fatal blast, the knockback grace period kept reconciliation
suspended, so a manual respawn would teleport cam-doll to spawn but
the lava view persisted until grace expired. tryRespawn now clears
myGrenade, activeExplosion, and knockbackGraceUntil so the server
snap immediately resyncs the camera.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>