Commit graph

13 commits

Author SHA1 Message Date
Nuno Duque Nunes
049ea7b77f fix: unify score submission on Score.submit, fix TGScore type drift, fix playedBy semantics for borrowed characters
- Score.submit/score/set.ts/score-inject.ts now all share one code path
- TGScore consolidated to single canonical type (was duplicated in types.ts and score.ts)
- Fixed atk/def/heal flat-vs-nested TGStats drift across leaderboard.ts, result layouts
- Fixed playedBy semantics — now correctly identifies the actual player on borrowed characters
- Attendance.allSubmitted now correctly matches against playedBy (borrower) not just userKey (owner)
- score-inject gained atk/def/heal/date/played_by parameters for full parity with real submission
- Added migrate-stats-shape.py and fix-class-keys.py maintenance scripts
2026-06-22 04:27:03 +01:00
Nuno Duque Nunes
9e8877483d feat: Leaderboard & Result systems with aligned columns, call/confirm-no commands, persistent message slots
- TextAlign: column alignment for embeds using real gg sans font metrics
- EmbedHelpers: per-player grid/column layouts immune to 1024-char field limit
- Layout: domain-aware formatting wrapper (wrank, bringer, cockroach, tgCount)
- PersistentMessage: multi-slot support for independently-updatable embeds
- Leaderboard: weekly rankings + highlights embed (most kills/deaths, next Bringer)
- Result: per-TG breakdown with wRankAtSubmission snapshot for historical accuracy
- /tg call, /tg poll confirm-no, /tg-admin score-inject, result/leaderboard post commands
- Fix: CharacterRegistry wasn't hydrating ownerKey, breaking K/D bot-wide
- Fix: Leaderboard.buildEntries used current week instead of passed-in week param
- /tg-admin test-align: permanent calibration tool for embed text alignment

Includes data/emojis/anima-mastery.json for new combat stat icons.
2026-06-20 03:04:52 +01:00
Nuno Duque Nunes
b22602f431 feat: TGKey branded type, PersistentMessage abstraction, createBuildEmbed factory, BaseLayout refactor 2026-06-13 02:23:56 +01:00
Nuno Duque Nunes
6f10db832e update gitignore 2026-06-12 17:11:39 +01:00
Nuno Duque Nunes
d7a01d1c7f possibly fixed emojis broken display in update embeds 2026-06-12 17:03:38 +01:00
Nuno Duque Nunes
666986afb1 refactor update messageId system / Discord.Interaction refactors 2026-06-12 16:27:36 +01:00
Nuno Duque Nunes
be84fa2fb6 fix ayana GL to DM in update poll example 2026-06-12 04:32:01 +01:00
Nuno Duque Nunes
3dbf8c7cab feat: Updates/changelog system, BaseLayout shared functions, Leaves system, WRank delta fix 2026-06-12 04:29:00 +01:00
Nuno Duque Nunes
3c4aed93df big architectural changes, add Attendance/Score/TG/Registry/Scheduler systems, logger & benchmarker, tg-admin command 2026-06-09 23:13:21 +01:00
Nuno Duque Nunes
ce92315b48 remove cached files 2026-06-05 01:43:55 +01:00
Nuno Duque Nunes
29aa853723 feat: character sharing/borrowing, impersonation, conflict resolution, W.Rank per char, autocomplete, UI improvements 2026-06-04 03:08:01 +01:00
Nuno Duque Nunes
a4b4b5ae8e various features done, bug fixes on char conflicts 2026-06-03 01:51:26 +01:00
Nuno Duque Nunes
1446cd10fc initial commit 2026-06-01 13:36:51 +01:00