fix(ui-map): repaint fog as layered overpaint; rename to visibleHyperspace
Tests · UI / test (push) Waiting to run
Tests · UI / test (push) Waiting to run
The Phase 29 fog overlay rendered as a handful of random arc segments instead of a clean union of holes around LOCAL planets — Pixi v8's `Graphics.cut()` does not reliably subtract multiple overlapping circles from a base path. Replaced the cut-based approach with a layered overpaint: a fog-tinted rectangle fills the world, then opaque background- coloured circles are painted on top for every visibility circle. The natural rendering order unions overlapping circles for free — no geometry, no `cut()` quirks, one extra fill per circle. Renamed the toggle from `visibilityFog` to `visibleHyperspace` across the store, i18n strings, popover, tests, and docs. The overlay still implements the visual "fog" effect at the renderer level (FOG_COLOR, setVisibilityFog, getMapFog); the toggle is named after the player-facing concept it controls — the portion of the map that is visible (intelligence/scan coverage) — rather than the obscured part. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+7
-5
@@ -802,11 +802,13 @@ every change applies within one frame (no Pixi remount):
|
||||
off, hides every non-LOCAL planet that sits beyond
|
||||
`FlightDistance(localPlayerDrive)` of every LOCAL planet
|
||||
(torus-aware metric).
|
||||
- **View** — visibility fog toggle (slightly lighter overlay
|
||||
outside the union of `VisibilityDistance(localPlayerDrive)`
|
||||
circles around LOCAL planets; LOCAL planets are always
|
||||
exempt) plus the torus / no-wrap radio that switches the
|
||||
renderer mode while preserving the camera centre.
|
||||
- **View** — "visible hyperspace" toggle (slightly lighter
|
||||
overlay outside the union of
|
||||
`VisibilityDistance(localPlayerDrive)` circles around LOCAL
|
||||
planets; LOCAL planets are always exempt — the toggle is
|
||||
named after the visible part of the map rather than the
|
||||
obscured one) plus the torus / no-wrap radio that switches
|
||||
the renderer mode while preserving the camera centre.
|
||||
|
||||
LOCAL planets are always rendered — they have no toggle. Every
|
||||
other toggle defaults to ON. Hiding a planet cascades onto every
|
||||
|
||||
@@ -823,10 +823,11 @@ Directory-промоушен ([Раздел 5](#5-реестр-названий-
|
||||
не-LOCAL планету, отстоящую дальше
|
||||
`FlightDistance(localPlayerDrive)` от любой LOCAL-планеты
|
||||
(метрика учитывает торическую развёртку).
|
||||
- **Вид** — переключатель тумана видимости (чуть более светлая
|
||||
заливка вне объединения окружностей
|
||||
- **Вид** — переключатель «видимое гиперпространство» (чуть
|
||||
более светлая заливка вне объединения окружностей
|
||||
`VisibilityDistance(localPlayerDrive)` вокруг LOCAL-планет;
|
||||
LOCAL-планеты всегда вне фильтра) плюс радиогруппа
|
||||
LOCAL-планеты всегда вне фильтра — тоггл назван по видимой
|
||||
области карты, а не по затемнённой) плюс радиогруппа
|
||||
«торус / без переноса», переключающая режим рендерера с
|
||||
сохранением центра камеры.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user