arena: 3P solid-mesh self + post-commit auto-deploy on main master
🧍 Local player now renders as a solid humanoid mesh whenever zoom- level > 0 (3rd-person), built from the same `buildRemoteBody` as remote players so what other tabs see of you matches what you see of yourself. 1P keeps the bodyFeet / bodyArms wireframe POV helpers since that's what you'd actually see from your own eyes. 🤖 Post-commit hook now auto-deploys arena on commits to main when any of `disks/arena.mjs`, `lib/{arena-world,pmove,cam-doll}.mjs`, `session-server/{arena-manager,session}.mjs`, or `shared/` change. Pipeline (all background): 1. push HEAD to knot (origin) so lith pulls the right commit 2. fish lith/deploy.fish — knot pull + service restart 3. wait 75s for the lith systemd knot→github mirror 4. fish session-server/deploy.fish — VPS pull from github + node restart Why both: lib/pmove.mjs is shared physics. Lith ships the client copy, session-server runs the authoritative copy. If they fall out of sync the reconciler in arena-manager.mjs will fight client prediction and movement glitches. Yesterday's arena commit deployed lith but not session-server, which is exactly what produced the "player keeps snapping back" feel. Logs land in `.git/arena-auto-deploy.log`. `AC_NO_AUTO_DEPLOY=1` in the env skips the deploys (e.g. while bisecting). SCORE.md has the matching entry under Backend so future agents pick up the contract. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>