aboutsummaryrefslogtreecommitdiff
path: root/README.md
Commit message (Collapse)AuthorAge
* Fix unit stopping when destination is occupied by another unitMartin Kagamino Lehoux2026-05-07
| | | | | | | | | | | | When a unit arrived exactly MOVE_SPEED away from its destination, it would move there via moveToward rather than snapping. On the next tick, its own cell appeared blocked in the moveMap, triggering a repath to an adjacent cell — causing infinite oscillation. Fix by excluding the unit's own current cell from the blocked check before repathing. Also adds repath-to-adjacent logic so units that arrive while the destination is genuinely occupied by someone else settle next to it instead of stopping mid-journey. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add Input abstraction between ebiten and simulation updateMartin Kagamino Lehoux2026-05-07
| | | | | | | | | Introduces Input snapshot struct collected once per tick via CollectInput, and UpdateSimulation(Input) as the ebiten-free simulation entrypoint. Integration tests now drive the game through simulated inputs rather than direct method calls. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Change patrol shortcut from A to QMartin Kagamino Lehoux2026-05-07
| | | | Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Remove Taskfile, clean up README and AGENTS.mdMartin Kagamino Lehoux2026-05-07
| | | | Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Migrate tasks from Taskfile to mise.tomlMartin Kagamino Lehoux2026-05-07
| | | | Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add viewport/camera system with pan, zoom, and world-space cursor conversionMartin Kagamino Lehoux2026-05-07
| | | | | | | | | | | | | | | | - New camera.go: Camera struct with arrow-key pan, scroll-wheel zoom toward cursor, middle-mouse drag, exponential velocity decay, and world-bounds clamping - Layout() now returns screen dimensions (960x640) instead of world size so the camera GeoM transform drives all rendering - All world entities, halos, text, path lines and spawn target converted via camera transform in draw.go; banners remain in screen space - selection.go: separate startScreen field so the drag-select box draws in screen space while selection logic stays in world space - Banner heights and font sizes scaled down to fit the 640px logical screen - Three new integration tests: ScreenToWorld round-trip, bounds clamping, zoom-toward-cursor stability Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Show available shortcutsMartin Kagamino Lehoux2026-03-01
|
* Selection is now SelectableMartin Kagamino Lehoux2026-02-17
|
* TODO listMartin Kagamino Lehoux2026-01-30
|
* Extracted TODOsMartin Kagamino Lehoux2026-01-15
|
* First integration testMartin Kagamino Lehoux2026-01-15
|
* refactor: transition to struct-of-arrays ECS architectureMartin Kagamino Lehoux2026-01-15
| | | | | | | - Replace individual Entity structs with centralized component slices in Game struct (SoA layout). - Implement bitmask-based component lookup (CM_Position, CM_Move, etc.). - Convert logic from object-oriented Update() methods to standalone Systems (UpdateMoveSystem, UpdateGatherSystem, UpdateSpawnSystem). - Update rendering, selection, and input handling to iterate over component arrays.
* Get time from GameMartin Kagamino Lehoux2025-09-25
|
* Unify selection code and unselectMartin Kagamino Lehoux2025-09-25
|
* feat: Draw bottom bannerMartin Kagamino Lehoux2025-07-25
|
* feat: Draw spawn targetMartin Kagamino Lehoux2025-07-25
|
* feat: Selection with priorityMartin Kagamino Lehoux2025-07-25
|
* fix: main move cancels ordersMartin Kagamino Lehoux2025-07-24
|
* Spawn target for newly spawned unitsMartin Kagamino Lehoux2025-07-09
|
* Export draw logicMartin Kagamino Lehoux2025-07-09
|
* Spawn unitsMartin Kagamino Lehoux2025-07-09
|
* Display resource countMartin Kagamino Lehoux2025-07-04
|
* FmtMartin Kagamino Lehoux2025-07-04
|
* Refactor into packagesMartin Kagamino Lehoux2025-07-04
|
* Find a ne wpath to resource when blockedMartin Kagamino Lehoux2025-07-04
|
* fix(move): Keep current path during move if it still appliesMartin Kagamino Lehoux2023-10-02
|
* fix: Display selection rect above all entitiesMartin Kagamino Lehoux2023-09-19
|
* refactor: Remove some features to prepare for ECSMartin Kagamino Lehoux2023-09-14