## [0.1.0] - 2025-10-09

### 🚀 Features

- *(assets)* Add icon
- *(engine)* Add LoadImageFromMemory()
- Set window icon
- *(gameover)* Only allow the user to switch state after the gameover sound has been played.
- *(gameover)* Make gameover state abit more interesting.
- *(assets)* Adding logo data
- *(menu)* Draw logo
- *(menu)* Put entries rendering into its own function

### 🐛 Bug Fixes

- *(audio)* Implement IsPlaying() correctly

### ⚙️ Miscellaneous Tasks

- Fix build for windows
- *(makefile)* Add .PHONY target again
- Add editorconfig
- Update readme and add license
## [0.13.0] - 2025-09-24

### 🚀 Features

- Add basic state machine implementation
- Refactor gameplay logic from main.go to a state machine handler.
- Add basic menu state
- Add basic game over state
- Register menu and gameover states.
- Start the machine in the menu state
- Detect game over condition and switch state.
- *(render)* Add DrawTextCenter()
- *(fsm)* Make the special state "quit" exit the fsm.
- Improve menu
- *(assets)* Add menu sound effects
- *(menu)* Play sound effects.
- *(assets)* Add gameover sound
- *(gameover)* Play gameover sound
- *(gameover)* Center text

### 🐛 Bug Fixes

- Reset state on Enter()
## [0.12.0] - 2025-09-21

### 🚀 Features

- *(assets)* Add sound files
- Engine audio code
- *(assets)* Add sound library
- Initialize and use audio subsystem.
- Add sound on shape locked and row clear
## [0.11.0] - 2025-09-17

### 🚀 Features

- Add game/shape_queue.go
- Use ShapeQueue to implement shape RNG
## [0.10.0] - 2025-09-17

### 🚀 Features

- Draw next shape
## [0.9.0] - 2025-09-15

### 🚀 Features

- Add score type
- Show score and increment when lines are cleared
## [0.8.0] - 2025-09-15

### 🚀 Features

- *(grid)* Add IsRowFull()
- *(grid)* Add ClearRow()
- *(grid)* Add MoveRowDown()
- *(grid)* Add ClearFullRows()
- Clear full lines after locking shape
## [0.7.0] - 2025-09-15

### 🚀 Features

- Soft drop
## [0.6.0] - 2025-09-15

### 🚀 Features

- *(shape)* Add RotateCW() and RotateCCW()
- Rotate shape when UP is pressed.
## [0.5.0] - 2025-09-15

### 🚀 Features

- *(collision)* Check grid bounds in x axis.
- Add shape movement

### ⚙️ Miscellaneous Tasks

- Update go.mod
## [0.4.0] - 2025-09-14

### 🚀 Features

- *(collision)* Check for collision against blocks in the grid.

### 🐛 Bug Fixes

- Check bound before placing a block in LockShape()
## [0.3.0] - 2025-09-14

### 🚀 Features

- Lock and spawn shapes

### 🚜 Refactor

- Cleanup main loop code by moving related code into update/render functions respectively.
## [0.2.0] - 2025-09-14

### 🚀 Features

- Add engine/core/vec2.go
- Add shape struct
- *(draw)* Add grid.DrawBlock()
- *(draw)* Add DrawShape()
- Draw shape on grid.
- Add engine/core/interval_timer.go
- Implement shape drop
- Add CheckShapeCollision()
- Add collision check on shape drop.
## [0.1.0] - 2025-09-14

### 🚀 Features

- *(assets)* Add constant with the size of blocks in the sprite texture.
- Add game/block.go
- Add game/grid.go
- Make rendering work with the grid struct.
