feat(player): reposition mobile player focal point

This commit is contained in:
2026-09-10 22:26:55 +03:00
parent 2501345740
commit 8949891a6b
8 changed files with 201 additions and 12 deletions
+5 -2
View File
@@ -48,8 +48,11 @@ drag changes into one latest intention; release discards that unsent intention.
The deflection is local input feedback only. The maze redraws only after a
server-authoritative projection and the browser never predicts a cell change.
For every projection, the browser translates only the received cells so the
authoritative `self` cell stays under the centered avatar; this also keeps the
avatar off a wall when the visible projection reaches a maze boundary.
authoritative `self` cell stays under the responsive avatar focal point. On a
portrait phone this is horizontally centered at 30% of the map height; compact
landscape uses a stable left-biased unobstructed point away from the directional
pad. This also keeps the avatar off a wall when the visible projection reaches
a maze boundary, and is recalculated on resize and rotation.
## Feedback and message rail
+5 -2
View File
@@ -113,8 +113,11 @@ are not MVP requirements.
## 7. Player map presentation
- Keep the player near the center of the map viewport except where maze
boundaries prevent it.
- Keep the portrait player horizontally centered at approximately 30% of the
usable map height, above the directional-pad hand zone. In compact landscape,
use the stable left-biased focal point in the largest unobstructed map area.
Recalculate it after resize and rotation without moving the authoritative
player away from its received `self` cell.
- Render unknown space as a solid background. Never infer, retain, animate, or
decorate maze geometry outside the server-provided visible projection.
- Compute cell size from the current server projection and available map area.