feat: player entity with WASD movement, tile collision, camera follow (Phase 4.1)

Player spawns at walkable tile near map center. WASD controls movement
(150px/s, normalized diagonal). Tile collision with wall-sliding prevents
walking through acid pools, crystals, geysers. Camera follows player with
smooth lerp. 39 new tests (134 total).

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Денис Шкабатур
2026-02-12 13:09:01 +03:00
parent c4993e9eee
commit 0c0635c93b
11 changed files with 820 additions and 14 deletions

View File

@@ -34,3 +34,8 @@ export const Health = {
export const ChemicalComposition = {
primaryElement: [] as number[], // atomic number (e.g. 11 for Na)
};
/** Tag component — marks entity as the player (no data, identity only) */
export const PlayerTag = {
_tag: [] as number[],
};