2d27d9fe4d
- Download 65 SVG icons from community repo (scripts/download-icons.js) - Gold CSS filter on all icons to match game theme - Session summary modal with score/accuracy/top stratagems - Queue preview strip (next 3 stratagems with icons) - Score popup animation, icon shake on wrong input - Icons in history, leaderboard, and best-per-stratagem tables - server.js: icon fields on all stratagems, ELO in lobby-update WS events
70 lines
4.3 KiB
Markdown
70 lines
4.3 KiB
Markdown
# Changelog – helldivers-trainer
|
||
|
||
## [2.1.0] – 2026-03-31
|
||
|
||
### Added
|
||
- **Stratagem icons**: 65 SVG icons downloaded from community icon set, served as static files under `/icons/`; icon download script at `scripts/download-icons.js`
|
||
- **Gold CSS filter** on all stratagem icons to match the game's yellow accent theme
|
||
- **Session summary modal**: opens after stopping practice or finishing a drill/speedrun — shows score, completed count, accuracy, best time, and top 5 stratagems
|
||
- **Queue preview strip**: shows next 3 upcoming stratagems (with icons) below the active stratagem
|
||
- **Score popup animation**: floating `+N pts` text appears on every correct completion
|
||
- **Shake animation on wrong input**: stratagem icon shakes on incorrect arrow key
|
||
- **Icon complete pulse**: stratagem icon scales + brightens when sequence is completed correctly
|
||
- **ELO rank icon** in post-match result header (matches rank tier badge)
|
||
- **Inline icons** in history table rows, best-per-stratagem table, and leaderboard
|
||
- `scripts/download-icons.js` — automated icon fetcher from GitHub community SVG repo
|
||
|
||
### Changed
|
||
- `index.html` fully rewritten: new elements for icon display, queue, score popup, session summary modal
|
||
- `app.js` fully rewritten (~1100 lines): icon helpers, queue builder, popup system, session stats, improved match/lobby flows
|
||
- `server.js` STRATAGEMS array: all 65 entries now have `icon` field (or `null` for missing ones)
|
||
- `broadcastLobbyUpdate()` now sends `[{name, elo, rank}]` objects with CSS-safe rank labels
|
||
- `challenge-received` WS event now includes challenger ELO for display in challenge modal
|
||
|
||
---
|
||
|
||
## [2.0.0] – 2026-03-30
|
||
|
||
### Added
|
||
- **4 Practice modes**: Timed (configurable 15/30/45s, SVG ring timer), Endless (3 lives), Category Drill (progress bar), Speed Run (all stratagems, total time)
|
||
- **Settings modal**: timer duration and difficulty (Easy/Normal/Hard) persisted in localStorage
|
||
- **History view**: paginated session table with mode/category filters, SVG polyline score chart, best-time-per-stratagem table
|
||
- **ELO rating system**: server-side ELO (K=32) calculated after every match; rank tiers PRIVATE → GENERAL
|
||
- **Post-match result modal**: ELO delta display (`before → after +N`), round-by-round history
|
||
- **Challenge modal**: incoming challenge shows challenger name and ELO; replaces toast notification
|
||
- **Dashboard hero card**: ELO rank badge, rank icon, daily sequence preview arrows, mode column in recent sessions
|
||
- **Leaderboard tabs**: Practice Score / ELO Rating / Speed Run with correct column headers per tab
|
||
- **Mobile hamburger nav**: slide-in drawer with overlay backdrop, Esc key closes modals
|
||
- **DB migration**: `elo` column on users, `mode` column on practice_sessions, `stratagem_stats` table
|
||
- **Lobby redesign**: ELO + rank shown per player, 2-column layout (Online + Incoming Challenges)
|
||
- View fade transitions on every view switch
|
||
- Danger vignette flash at ≤5s timer remaining
|
||
- Streak fire glow effect (streak ≥ 5), combo multiplier badge (×N, streak ≥ 2)
|
||
- Keyboard shortcuts: `Esc` stops practice / closes modals, `Enter` starts practice
|
||
- `aria-label` on all D-pad buttons, modals with `role="dialog"` and `aria-modal="true"`
|
||
|
||
### Changed
|
||
- Full CSS redesign (~700 → ~1200 lines): glassmorphism cards, new design tokens, SVG timer ring, skeleton shimmer, animated modals
|
||
- Dashboard online list now shows ELO; lobby shows ELO + rank per player
|
||
- WS `lobby-update` now sends `[{name, elo, rank}]` objects instead of plain usernames
|
||
- WS `challenge-received` now includes challenger ELO
|
||
- Practice leaderboard query joined with `users.elo` for rank badge display
|
||
|
||
---
|
||
|
||
## [1.0.0] – 2026-03-30
|
||
|
||
### Added
|
||
- Initial release
|
||
- Session-based auth with admin and user roles (mustChange password flow)
|
||
- Admin panel: create/delete users, view temp passwords
|
||
- Practice mode: randomized stratagem training with 30s timer, streak scoring
|
||
- Category filters for practice mode
|
||
- 1v1 mode via WebSocket: challenge system, lobby, real-time match (first to 5 rounds)
|
||
- Dashboard: personal stats, daily challenge, online users, recent sessions
|
||
- Leaderboard: top-20 by total score, sessions, match win rate
|
||
- SQLite database (WAL mode) for users, practice sessions, matches
|
||
- Helldivers 2 military UI theme (dark, yellow accents, grid overlay, scanlines)
|
||
- Mobile D-pad support
|
||
- Arrow key input with correct/wrong animations
|