- Introduce `BarrierManager` to handle neon cyberpunk-style barriers on screen edges and optional interior obstacles.
- Edge barriers blink in after a short delay, trap the player if they are inside when solidified (instant death + respawn), and explode when zone waves complete to allow exit.
- Interior barriers block enemies but not the player, adding tactical depth to arena layouts.
- Update `zones.json` with `interiorBarriers` config per zone.
- Adjust player/enemy sprite depths for correct rendering order relative to barriers.
- Integrate barrier collision into physics: player vs all barriers, enemies vs interior only; bullets destroyed on contact with any barrier.
- Refactor zone transitions and exit logic to coordinate barrier activation/destruction animations.
Replace simple circle graphics with sprite-based enemies using a shared spritesheet. This change introduces:
- A `frameOffset` config to select specific enemy types from the spritesheet.
- An animation system for walking cycles (2-frame loop) and a static death frame.
- A refined hitbox setup using `setCircle` centered within 48x48 frames.
- A visual death sequence: stop movement, show death frame, wait 2s, then fade out.
- HP bar positioning adjusted to account for the new sprite height.
Additionally:
- Added a new `Reticle` UI component that tracks the mouse cursor with rotating rings and hides the OS cursor.
- Updated `GameScene` to load the enemy spritesheet and manage the reticle lifecycle.