Files
OpenFrontIO/resources/lang
Zixer1 f5ef306d99 feat(client): highlight small players with a pulsing glow (#4525)
## Description:

Adds a **"Highlight small players"** client setting (in the in-game
Settings menu). When it's on, human players holding **0.2% or less of
the map** get a soft red glow that breathes (a pulsing aura) around
their territory, starting **one minute into the game**. This makes
near-eliminated players easy to spot on a busy map, even when their
territory is scattered in fragments or sitting under structures.

How it works:

- **Purely client-side**, no simulation or determinism impact.
`SmallPlayerGlowPass` renders a tile-space bloom: extract a sub-tile
mask of the small players' tiles, run a separable Gaussian blur, then
composite the soft aura over the map additively. It's camera-independent
(no shimmer when panning/zooming), so scattered tiles blur into one
clean halo. The aura breathes: its intensity fades fully to 0 at the
trough for clear contrast.
- The set is recomputed each tick in `WebGLFrameBuilder`: alive human
players with `tilesOwned / (landTiles - fallout) <= 0.002` (0.2%),
suppressed during the spawn phase and the first minute.
- Backed by a persisted `UserSettings` flag, toggleable live from the
in-game Settings modal (with a new, distinct icon).
- Drawn after the structure passes so buildings can't hide it.
- Mirrors the existing FalloutBloom pipeline and reuses the shared blur
shader and render-target helpers rather than duplicating them. Tunable
via `render-settings.json` (`smallPlayerGlow`: color / alpha /
pulseSpeed).

UI (glow fades in and out):
<img width="474" height="334" alt="image"
src="https://github.com/user-attachments/assets/2b94f292-2cbb-43d3-82fb-f274d1afdedf"
/>
<img width="976" height="400" alt="image"
src="https://github.com/user-attachments/assets/f1b972d7-e046-4f7a-ab43-da1eb758c7b5"
/>


## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory

## Please put your Discord username so you can be contacted if a bug or
regression is found:

zixer._
2026-07-08 12:30:37 -07:00
..
2025-06-30 19:49:42 -07:00
2026-05-31 19:55:50 -07:00
2026-03-02 10:54:37 -08:00
2025-06-30 19:49:42 -07:00
2025-09-07 19:54:22 -07:00
2026-04-17 17:31:43 -07:00
2026-02-11 14:42:59 -08:00
2026-02-11 14:42:59 -08:00
2026-06-13 08:39:35 -07:00
2025-06-30 19:49:42 -07:00
2026-03-02 10:54:37 -08:00
2026-06-13 08:39:35 -07:00
2025-09-30 11:10:34 -07:00
2026-06-13 08:39:35 -07:00
2025-09-07 19:54:22 -07:00
2025-07-13 07:09:42 +00:00
2026-06-13 08:39:35 -07:00
2026-04-17 17:31:43 -07:00
2025-06-30 19:49:42 -07:00
2026-06-13 08:39:35 -07:00
2026-03-02 10:54:37 -08:00
2025-09-30 11:10:34 -07:00
2026-02-11 14:42:59 -08:00
2026-02-11 14:42:59 -08:00
2025-09-07 19:54:22 -07:00
2026-06-13 08:39:35 -07:00
2025-09-07 19:54:22 -07:00
2025-10-17 14:27:47 -07:00
2025-08-09 23:57:10 -04:00
2025-06-30 19:49:42 -07:00
2026-02-11 14:42:59 -08:00
2026-06-13 08:39:35 -07:00
2026-05-31 19:55:50 -07:00