Add player leaderboard and homepage preview

This commit is contained in:
2026-10-06 15:21:49 +05:00
parent 2bbf5ae2c0
commit 949aa6627a
25 changed files with 2363 additions and 28 deletions

View File

@@ -58,6 +58,17 @@ The build copies both JARs to their Git-visible download folders. Include those
## Checks
The public `/leaderboard` and homepage preview rank signed-in players by their
best completed five-round expedition. Ties use average score, then games played.
Difficulty filters, literal player-name search, and pagination run in Postgres;
guest and incomplete games are excluded. Apply the `player_leaderboard` migration
when updating an existing installation. The score query is server-only and does
not expose session tokens, round locations, or contact information.
`npm run test:leaderboard` verifies ranking and permissions in an isolated
Postgres runtime. It uses the optional PGlite package already used for SQL checks
(`npm install --prefix .data/sql-verification --no-save --package-lock=false @electric-sql/pglite@0.3.14`).
Accounts support display names, email/password login and password recovery. See [account settings and Supabase configuration](docs/account-settings.md).
```sh
@@ -77,3 +88,5 @@ The renderer regression exercises the product's headless terrain worker with gra
Plugin exports include generated Overworld surface terrain (up to 24 blocks below each column's top), vanilla block states, and biome identifiers. Buried opaque blocks are omitted. Each export is limited to 5 million retained blocks, 240 MiB of raw terrain JSON, and 50 MiB compressed. Start with a 128 × 128 area, check the preview, then increase coverage. Lighting is simplified; custom packs, entities, and dynamic block-entity visuals are not captured by the server exporter.
The pixel heading font is VT323 by Peter Hull, distributed under the SIL Open Font License. Its license is in `public/fonts/OFL-VT323.txt`.
The homepage uses Minecraft 1.21.11’s original `assets/minecraft/textures/map/map_background.png`, extracted unchanged from the cached vanilla client to `public/images/minecraft-map-background.png`. The texture belongs to Mojang; its pixel detail and transparent parchment edges are retained.