nerdware/apps/web
AyoubBenziza 7dda00c65c feat: lead-in timer compensation + GIF support for round transitions
Server (option 2 — don't eat answer time):
- engine: leadMs prep delay (default 1600ms) before the clock starts; the
  round timer now fires at lead + duration, and scoring uses the post-lead
  start so the speed bonus spans the full answer window
- shared: round:start carries startsAt (answers begin) alongside endsAt
- engine test passes leadMs:0

Client:
- Countdown shows the full duration (no ticking) until startsAt, then counts
  down — so the WarioWare transition plays in full without stealing time
- store/ActiveRound carry startsAt

Custom transition media:
- RoundTransition auto-loads any gif/webp/apng/png/avif dropped in
  src/assets/transitions/ (import.meta.glob), plays one at random per round,
  falls back to the Framer animation when none are present
- README documenting how to add animations

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 11:25:17 +02:00
..
src feat: lead-in timer compensation + GIF support for round transitions 2026-06-09 11:25:17 +02:00
.env.example feat(server,web): first real-time cycle — room create/join + lobby 2026-06-08 15:16:26 +02:00
components.json feat: initial commit 2026-06-07 18:45:52 +02:00
eslint.config.js feat: initial commit 2026-06-07 18:45:52 +02:00
index.html feat: initial commit 2026-06-07 18:45:52 +02:00
package.json refactor(web): generate DiceBear avatars locally instead of via HTTP API 2026-06-09 10:58:23 +02:00
tsconfig.app.json refactor(web): generate DiceBear avatars locally instead of via HTTP API 2026-06-09 10:58:23 +02:00
tsconfig.json feat: initial commit 2026-06-07 18:45:52 +02:00
tsconfig.node.json feat: initial commit 2026-06-07 18:45:52 +02:00
vite.config.ts feat: initial commit 2026-06-07 18:45:52 +02:00