How shadowhedgehog76/webno works
WebNo is a browser-based, serverless UNO game for up to four players in solo play, eight in team play, and up to 32 in Party mode. The host runs the authoritative game: players join a coded room, submit actions, and receive player-specific state; the host can also use bots to fill seats. The graph includes the documented game variants and presentation options, but sampled excerpts do not establish all wiring between the app and rendering modules, so those links are omitted.
Main entry points: app.js App orchestration · engine.js UNO engine · ui.js Menus and controls · net.js Peer networking
Components 14
Game rules
- UNO engine
js/engine.js - Decks and settings
js/deck.js - Party cards
js/party.js - Bot AI
js/bot.js
Multiplayer
- App orchestration
js/app.js - Peer networking
js/net.js - PeerJS service
Player experience
- Menus and controls
js/ui.js - QR encoder
js/qr.js - Synthesized audio
js/audio.js
Table rendering
- 3D table
js/scene3d.js - 2D table
js/plateau2d.js - Card artwork
js/cardtex.js
Other components
- Player
Connections 17
- Player → App orchestration: starts or joins
- App orchestration → UNO engine: runs game
- UNO engine → App orchestration: provides state
- UNO engine → Decks and settings: builds and checks decks
- UNO engine → Party cards: uses party cards
- App orchestration → Bot AI: requests bot actions
- App orchestration → Peer networking: opens room or connects
- App orchestration → Peer networking: sends state and actions
- Peer networking → App orchestration: delivers messages
- Peer networking → PeerJS service: uses WebRTC service
- App orchestration → Menus and controls: updates interface
- Menus and controls → Decks and settings: reads game options
- Menus and controls → Party cards: reads party cards
- Menus and controls → QR encoder: renders room QR
- App orchestration → Synthesized audio: triggers sound
- 3D table → Card artwork: paints card textures
- 2D table → Card artwork: paints card faces