- Implement `AlienShip.explode()` with cyan flash, shrinking spin animation and a shockwave ring.
- Enhance `Player.die()` to flash white, hide the sprite, and spawn shattering shard graphics.
- Introduce `GameScene.spawnImpactSparks()` to create brief yellow spark particles on bullet impacts.
- Update bullet‑asteroid and bullet‑alien collision handling to trigger impact sparks and use the new alien explosion.
- Minor refactor to use the new visual effects for a more polished death sequence.
- Import and register new `BootScene` and `MenuScene` in `main.js`.
- Create `BootScene` to generate all shared textures once at startup and then start the menu.
- Implement full-featured `MenuScene` with background asteroids, wandering alien, title, controls panel, and start button (including ENTER key support).
- Remove texture generation logic and helper from `GameScene`; it now relies on textures created by `BootScene`.
- Change game‑over handling to return to the menu instead of restarting the game.
- Added `warpOut()` to `AlienShip` with spin‑shrink animation and black‑hole ring visual.
- Modified `spawnAlienBullet` to pass the firing ship to `Bullet`.
- Extended `Bullet` constructor with `ownerEntity` to store the originating `AlienShip`.
- Updated collision callbacks in `GameScene` to trigger `warpOut()` on the owning ship when its bullet hits the player or when the player collides with an alien, and to remove the ship from the alien list.
- Fixed overlap order for alien bullets vs. player.
These changes give alien ships a dramatic disappearance animation and ensure proper cleanup after collisions.