CHANGELOG // May 13, 2026
What's New - May 12, 2026
-- Hive Planner: major UX overhaul --
New: top-level modes
- Place / Assign / View / Map modes split the toolbar so each task has only the controls it needs
- View mode is fully read-only, share a plan without anyone accidentally moving an HQ
- Loading an empty plan now drops you straight into Map mode so the Starting Point wizard greets you
New: Map mode + Starting Point wizard
- "Where is your AC / Marshal Guard?" wizard anchors the grid for new plans, no more typing center coordinates by hand
- World coordinates are clamped to [0, 999] on both axes; edge labels no longer show "−1"
- Wizard now has a map size selector (120 / 240 / 360), pick mega-hive sizes up front instead of resizing later
- A coordinate you type lands exactly where you typed it. Previously an MG entered at (50, 50) could render at (60, 60) near the edge
New: drag-and-drop member assignment
- Drag members from the sidebar roster directly onto HQs
- HQ → HQ swap by dragging between tiles
- Reset Assignments is now a single undoable action
Sidebar / member ranking
- New Power / Kills / THP segmented control sorts the member list high-to-low by the metric you care about. Both Available and Assigned sections honor it
- Auto-Assign seeds its ranking from the same metric you have selected
- "Auto-fill HQs" trigger lives in the sidebar, next to the metric selector
- Orphaned HQ assignments (member left the alliance) now show up in italic / amber so you can clear them, instead of silently disappearing
Auto-Assign Members dialog
- Accepts either Alliance Center or Marshal Guard as the anchor; defaults to AC, and shows a selector when both exist
- Dropped the misleading "Leave extra HQs unassigned" toggle, partial assignment is now the default behavior (one member per HQ)
Auto-Generate Hive Layout dialog
- Rewritten description explains ring-packing and the optional auto-fill
- Rank by selector mirrors the assign dialog
- Auto-assign members switch lets you place HQs without an assignment pass
Minimap
- Minimap is now visible at every grid size (was previously gated to ≥ 200) and supports drag-to-pan in addition to click. Releasing the mouse outside the minimap still ends the drag cleanly.
- Minimap drag no longer paints/pans the main grid underneath
Coordinate labels match the in-game map
- Building labels now show the center world coordinate, the cell the game itself displays, instead of the top-left anchor. An AC typed at (50, 50) now reads "50, 50" instead of "46, 54"
- Sidebar HQ lists (alliance, color, assigned) all use the same center-coord display
Quality-of-life fixes
- Page no longer scrolls past the toolbar, grid stays anchored in its slot on the dashboard
- Member-assignment popover no longer steals wheel events, so scrolling the member list no longer zooms the grid
- Search auto-pan fires once per query change; placing entities afterwards no longer snaps you back to the search target. The highlight ring stays.
Internationalization
- Arabic: unified "Marshal Guard" term across the feature
- Arabic: reset-assignments confirmation now uses proper plural forms (zero/one/two/few/many/other) instead of the awkward "عضو(أعضاء)" parenthetical
-- Public REST API --
Documented THP routes
- GET /api/v1/alliance/members/thp: export Total Hero Power history
- POST /api/v1/alliance/members/thp: import THP history
- Both are in the OpenAPI spec and the regenerated Postman collection
- thpHistory is now included in the /api/v1/alliance/export full snapshot, so a single export captures it alongside power and kills