Files
rolld/frontend
kerboul 5c98f1638a feat: stats + chat + frontend pages (Stats, Chat, NavBar)
Backend:
- StatsManager.js: JSON persistence, leaderboard, rate-limit 1/5s
- ChatManager.js: 200-msg buffer, JSON persistence
- index.js: routes GET/POST /stats, /chat/history, /chat/send (Zod validation)
- ArenaRoom.js: chat handler broadcasts to room + persists via ChatManager

Unity:
- StatsTracker.cs: distance, maxSpeed, jumps, bumps, checkpoints, raceTime tracking
- ChatUI.cs: F3 toggle, bottom-right panel, polling 3s, unread badge
- NetworkManager.cs: SendChatMessage() + OnMessage<ChatUI.ChatMessage>(chat)
- CheckpointSystem.cs: RegisterCheckpoint/Finish hooks
- PlayerController.cs: RegisterJump/Bump hooks, physics rebalance, billboard fix
- GameHUD.cs: LocalRaceTimer, SetTotalRounds, OnRoundStart signature fix
- GameManager.cs: spectator cam reconnect fix

Frontend:
- NavBar.jsx: fixed top nav, Accueil/Stats/Chat/Jouer
- App.jsx: page state (home/play/stats/chat) + NavBar
- StatsPage.jsx: 6-tab leaderboard, auto-refresh 30s
- ChatPage.jsx: polling 3s, localStorage name, Enter to send

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 18:33:06 +02:00
..

ROLL'D — Frontend

Client web pour le jeu ROLL'D. Héberge le build Unity WebGL dans une interface moderne.

Stack

  • React 18 + Vite 5 — build rapide, HMR
  • Tailwind CSS 3 — styling utility-first
  • Unity WebGL Loader — intégration du build Unity

Quickstart

npm install
npm run dev      # http://localhost:5173
npm run build    # production build → dist/

Unity WebGL Build

Placer le build Unity dans public/unity-build/ :

public/unity-build/
├── Build/
│   ├── build.data.gz
│   ├── build.framework.js.gz
│   ├── build.loader.js
│   └── build.wasm.gz
└── TemplateData/  (optionnel)

Docker

docker build -t rolld-frontend .
docker run -p 80:80 rolld-frontend

Structure

├── public/
│   ├── unity-build/     # Build WebGL (non versionné)
│   └── favicon.svg
├── src/
│   ├── components/      # Composants React
│   ├── assets/          # Images, fonts
│   ├── App.jsx
│   └── main.jsx
├── index.html
├── tailwind.config.js
├── vite.config.js
└── Dockerfile