Files
rolld/frontend
kerboul 103f8859d4 feat(Car): wire NWH Vehicle Physics 2 — scripts only, scene/prefabs still TODO
Code-only first pass. The local Player.prefab (ball) is still in the scene
until the user creates the PlayerCar / RemoteCar prefab variants in the Editor.

New scripts:
- VehicleLocalSetup: attaches name label + colored capsule marker to the local
  vehicle, registers its Rigidbody with NetworkManager for broadcast.
- RemoteVehicleSync: snapshot interpolation for remote vehicles. Disables the
  NWH VehicleController + every WheelController + every AudioSource on init.
  Makes the rigidbody kinematic, MovePosition-driven from network. Disables all
  non-trigger colliders during the 1.5s spawn grace window to avoid ejecting
  overlapping locals at connect.

Adapted scripts:
- NetworkManager: RegisterLocalVehicle(Transform, Rigidbody) replaces the
  FindFirstObjectByType<PlayerController>() lookup. Remote spawn now wires
  RemoteVehicleSync instead of RemotePlayerController.
- LobbyUI: OnConnected drives VehicleLocalSetup.SetupLocal; OnDisconnected
  toggles NWH.VehicleController instead of PlayerController.
- GameManager.SetPlayerActive: toggles VehicleController, not PlayerController.
- DebugNetworkUI: live position read from VehicleController.vehicleRigidbody.
- ChatUI: drops PlayerController.ResetInputs() (NWH polls Input System each
  frame; no manual reset needed when chat opens).
- StatsTracker: drops dead _pc field; Rigidbody still gets resolved via
  GetComponent on the host GameObject (will be the vehicle on Car).

Frontend (deployed earlier on master): build_ball replaces pretty_build assets.
2026-05-20 18:34:40 +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