How yousseffekryk98-droid/lego-ninjago-tournament works
This is a browser-playable 3D LEGO Ninjago arena-brawler remake. The main player journey is choosing a fighter and mode, entering a combat or training session, and earning progression that persists locally. The map also preserves the documented roster, collection, loadout, challenge, rendering, and installable-offline capabilities. Relationships are limited to sampled imports/calls and README statements; some feature wiring and unsampled implementations are therefore shown only where documented.
Main entry points: main.ts Game interface · TournamentGame.ts Tournament combat · model.ts Character model builder · DojoGame.ts Dojo tutorial
Components 26
Game application
- Game interface
src/app/main.ts - Input controls
src/features/controls/index.ts - Fighter gallery
src/features/gallery/index.ts - Loadout and items
src/features/loadout/index.ts
Fighters and models
- Roster catalog
src/features/characters/expanded-catalog.ts - Fighter designs
src/features/characters/designs.ts - Elemental metadata
src/features/characters/elemental.ts - Model profiles
src/features/characters/model-profile.ts - Character model builder
src/features/characters/model.ts - Procedural minifigures
src/shared/three/minifigure-model.ts - Authored character bodies
src/features/characters/authored-model.ts - GLB asset loader
src/shared/three/gltf-assets.ts
Play modes
- Tournament combat
src/features/combat/TournamentGame.ts - Content game mode
src/features/combat/ContentGame.ts - Arena floor
src/features/combat/arena-floor.ts - Arena hazards
src/features/combat/arena-hazards.ts - Elemental effects
src/features/combat/element-vfx.ts - Dojo tutorial
src/features/dojo/DojoGame.ts - Challenge modes
src/features/challenges/index.ts
Player services
- Fighter progression
src/features/progression/index.ts - Local save sync
src/shared/storage/save-sync.ts
Runtime support
- Graphics settings
src/shared/graphics/index.ts - Feedback settings
src/shared/feedback/index.ts - Platform support
src/shared/platform/index.ts - Offline service worker
public/sw.js
Other components
- Player
Connections 29
- Player → Game interface: uses
- Game interface → Tournament combat: starts combat
src/app/main.ts - Game interface → Dojo tutorial: starts training
src/app/main.ts - Game interface → Input controls: reads bindings
src/app/main.ts - Game interface → Roster catalog: selects fighters
src/app/main.ts - Game interface → Fighter progression: reads XP
src/app/main.ts - Game interface → Fighter gallery: opens archive
- Game interface → Loadout and items: sets loadout
- Game interface → Challenge modes: offers challenges
- Tournament combat → Arena floor: builds floor
src/features/combat/TournamentGame.ts - Tournament combat → Arena hazards: manages hazards
src/features/combat/TournamentGame.ts - Tournament combat → Elemental effects: spawns effects
src/features/combat/TournamentGame.ts - Tournament combat → Input controls: reads bindings
src/features/combat/TournamentGame.ts - Tournament combat → Character model builder: builds fighters
src/features/combat/TournamentGame.ts - Content game mode → Character model builder: builds fighters
src/features/combat/ContentGame.ts - Dojo tutorial → Character model builder: builds fighters
src/features/dojo/DojoGame.ts - Dojo tutorial → Input controls: reads bindings
src/features/dojo/DojoGame.ts - Character model builder → Model profiles: gets profile
src/features/characters/model.ts - Character model builder → Fighter designs: gets design
src/features/characters/model.ts - Character model builder → Procedural minifigures: builds model
src/features/characters/model.ts - Character model builder → Authored character bodies: attaches body
src/features/characters/model.ts - Authored character bodies → GLB asset loader: loads asset
src/features/characters/authored-model.ts - Tournament combat → Elemental metadata: gets element theme
src/features/combat/TournamentGame.ts - Elemental effects → Elemental metadata: gets element data
src/features/combat/element-vfx.ts - Game interface → Local save sync: persists progress
- Player → Graphics settings: chooses graphics
- Player → Feedback settings: sets feedback
- Player → Platform support: installs app
- Offline service worker → Player: serves offline