| Move Left / Right | ← → or A D |
A and D to move left / right doesn't work
Bugs fixed and suggestions implemented :)
Thank you MadGrace for your support.
TETRIX — UPDATE LOG
====================
VERSION 1.01 — May 3, 2026
----------------------------
BUGS FIXED
----------
1. BLOCKS FALLING THROUGH FLOOR
- clearLines() was using splice() on wrong row indices mid-loop
- Fixed: collect all full rows first, sort descending, then splice
- Prevents board corruption that caused pieces to pass through placed blocks
2. PIECES FREEZING MID-AIR
- lockTimer was incrementing even when piece was not grounded
- Fixed: lock timer only starts when tryMove(0,1) fails (piece is actually on floor)
3. ONLINE GARBAGE NOT SENDING
- After clearLines rewrite, garbage table referenced old variable 'n' (now 'cleared')
- garbageTable[undefined] always returned undefined — zero garbage sent to opponent
- Fixed: updated reference to garbageTable[cleared]
4. P KEY NOT RESUMING GAME
- handleKeyDown() had early return when gs.paused=true
- P key check came AFTER the guard, so press was swallowed
- Fixed: P/Escape checked first before any pause guard
5. A AND D KEYS NOT WORKING
- Only ArrowLeft/ArrowRight were in the keydown handler
- KeyA and KeyD were never bound
- Fixed: A/D now mapped to left/right movement + DAS repeat included
6. SPACE BAR SPAM CRASHING GAME
- hardDrop() had no guard against being called while paused/game over
- Spamming space during freeze caused multiple lockPiece() calls corrupting state
- Fixed: space key and hardDrop() both check game is running before firing
7. ZEN MODE BOARD OVERFLOW
- No game over in zen mode meant board could fill past top, looked broken
- Fixed: when board tops out in zen, top 6 rows auto-clear with "✨ Cleared!" popup
8. SELECT MODE SCREEN CUT OFF
- screen-mode used justify-content:center, pushing top row off screen when 10+ modes shown
- padding: var(--space-6) was overriding has-topbar 48px padding-top
- Fixed: justify-content:flex-start, overflow-y:auto, padding-top:calc(48px + var(--space-6))
9. DESKTOP SCORE PANEL CUT OFF