ESC key follows priority stack: confirm dialog → context menu → build menu → villager panel → ESC menu → open ESC menu. Menu items: Save Game, Load Game, Settings (placeholder), New Game (with confirmation dialog). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
46 lines
2.6 KiB
Markdown
46 lines
2.6 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented here.
|
|
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
|
|
---
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
- **ESC Menu**: pressing ESC when no overlay is open shows a pause menu with Save Game, Load Game, Settings (placeholder), and New Game; New Game requires confirmation before wiping the save
|
|
- ESC key now follows a priority stack: confirmation dialog → context menu → build menu → villager panel → ESC menu → (build/farm mode handled by their systems) → open ESC menu
|
|
|
|
### Added
|
|
- **F3 Debug View**: toggleable overlay showing FPS, tile type and contents under the cursor, Nisse count by AI state, active jobs by type, and pathfinding visualization (cyan lines in world space)
|
|
|
|
### Fixed
|
|
- Nisse now clear the FOREST/ROCK tile after harvesting, opening paths to deeper resources
|
|
- Nisse no longer get stuck idle after depositing items at the stockpile
|
|
- Working Nisse now reset to idle on game load (like walking ones), preventing stale AI state
|
|
- Stale jobs with empty carry are now cleared after work completes, avoiding a false "haul to stockpile" loop
|
|
- UI elements (stockpile panel, controls hint) now reposition correctly after window resize
|
|
- Centered overlay panels (build menu, villager panel) close on resize so they reopen at the correct position
|
|
- Mouse world coordinates now use `ptr.worldX`/`ptr.worldY` in BuildingSystem and FarmingSystem, fixing misalignment after resize or zoom
|
|
|
|
### Changed
|
|
- Villagers are now called **Nisse** throughout the UI (panel, controls hint, stockpile display, context menu, spawn message)
|
|
|
|
### Added
|
|
- Scroll wheel zooms toward the mouse cursor position (zoom-to-mouse), correctly accounting for Phaser's center-based zoom model
|
|
- Middle mouse button held: pan the camera by dragging
|
|
- Test environment at `/test.html` with `ZoomTestScene` (Phaser default) and `ZoomMouseScene` (zoom-to-mouse) for camera behaviour analysis; file-logging via Vite middleware to `game-test.log`
|
|
|
|
### Fixed
|
|
- `getCenterWorld()` in `CameraSystem` returned wrong world coordinates at zoom ≠ 1; corrected from `scrollX + width/(2·zoom)` to `scrollX + width/2`
|
|
- Right-click context menu: suppresses browser default, shows Build and Nisse actions in the game world
|
|
- Initial project setup: Phaser 3 + TypeScript + Vite
|
|
- Core scenes: `BootScene`, `GameScene`, `UIScene`
|
|
- Systems: `BuildingSystem`, `CameraSystem`, `FarmingSystem`, `PlayerSystem`,
|
|
`ResourceSystem`, `VillagerSystem`, `WorldSystem`
|
|
- Utilities: simplex-noise wrapper, pathfinding
|
|
- `StateManager` for central game state
|
|
- `NetworkAdapter` for multiplayer/sync layer
|
|
|
|
---
|