Merge webgl2 — full WebGL2 renderer migration

relates to #893

Replaces the canvas2D + Pixi.js map renderer with a pure WebGL2 pipeline.
Map-space visuals (terrain, names, structures, units, FX, selection
boxes, build ghosts, status icons, nuke trajectories, defense zones,
spawn glow, water-nuke terrain deltas) all render through dedicated
passes in src/client/render/gl/passes/. Controllers in
src/client/controllers/ push state directly to the WebGL view; no
relay events. Assets unified under resources/ + assetUrl(). Mode
toggle wired to the existing darkMode UserSetting (no more day/night
cycle). One input system (InputHandler + EventBus + TransformHandler).

Known regressions to address in follow-up work:

- [ ] webgl: highlight structures when hover on build menu
- [ ] webgl: custom flags, flag atlas
- [ ] webgl: territory patterns
- [ ] webgl: defense post outline
- [ ] webgl: territory expanse smoothing
This commit is contained in:
evanpelle
2026-05-18 12:09:11 -07:00
257 changed files with 55112 additions and 10067 deletions
+1
View File
@@ -11,6 +11,7 @@ import {
const HASHED_PUBLIC_ASSET_GLOBS = [
"changelog.md",
"manifest.json",
"atlases/**/*",
"cosmetics/**/*",
"flags/**/*",
"fonts/**/*",