How tiles fall
With the test harness in place, we built the board itself: six columns, eight rows, and the single action the whole game is built on — dropping a tile into a column.
A dropped tile falls to the lowest empty spot in that column and stops. If the column is already full, nothing happens: the tile isn't used up, you simply pick another column. That "nothing is wasted" rule matters more than it sounds — it keeps the game feeling fair instead of punishing a mistap.
The other quiet rule is gravity. Whenever tiles are removed — which happens constantly once merging starts — the ones above slide down to fill the gap, with no floating tiles and no holes left behind. We wrote this as plain logic and tested the edges on purpose: dropping into a full column, settling a column with a gap in the middle, making sure a full board is recognized as full. The point is that the board behaves the same way every single time.
It isn't flashy, but it's the floor everything else stands on. Next: the part that's actually meant to feel good — chains.