From 9390b6d98e3d603505169205c7f38d5eddbb18a8 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 3 Feb 2026 05:19:28 +0000 Subject: [PATCH] fix: show enemy units and buildings when fog of war is disabled When fogDisabled flag is true via debug console, skip visibility checks so enemy entities are visible. Previously only fog rendering was disabled but enemies were still hidden by VisionSystem checks. https://claude.ai/code/session_011XJcsFWN8tmaXzFrS8FVdX --- src/rendering/BuildingRenderer.ts | 8 ++++++-- src/rendering/UnitRenderer.ts | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/rendering/BuildingRenderer.ts b/src/rendering/BuildingRenderer.ts index 38f093a4..308b76fd 100644 --- a/src/rendering/BuildingRenderer.ts +++ b/src/rendering/BuildingRenderer.ts @@ -11,6 +11,7 @@ import { getPlayerColor, isSpectatorMode } from '@/store/gameSetupStore'; import { useUIStore } from '@/store/uiStore'; import { debugMesh } from '@/utils/debugLogger'; import { CullingService, EntityCategory } from './services/CullingService'; +import { getConsoleEngineSync } from '@/engine/debug/ConsoleEngine'; import { BUILDING_RENDERER, BUILDING_SELECTION_RING, RENDER_ORDER } from '@/data/rendering.config'; import { createConstructingMaterial, @@ -648,10 +649,13 @@ export class BuildingRenderer { const isOwned = !isSpectating && ownerId === this.playerId; const isEnemy = !isSpectating && selectable && ownerId !== this.playerId; - // Check visibility for enemy buildings (skip in spectator mode - show all) + // Check visibility for enemy buildings (skip in spectator mode or if fog disabled - show all) let shouldShow = true; if (isEnemy && this.visionSystem && this.playerId) { - shouldShow = this.visionSystem.isExplored(this.playerId, transform.x, transform.y); + const fogDisabled = getConsoleEngineSync()?.getFlag('fogDisabled'); + if (!fogDisabled) { + shouldShow = this.visionSystem.isExplored(this.playerId, transform.x, transform.y); + } } // PERF: Get cached terrain height (buildings rarely move) diff --git a/src/rendering/UnitRenderer.ts b/src/rendering/UnitRenderer.ts index 3fa388ad..99bada75 100644 --- a/src/rendering/UnitRenderer.ts +++ b/src/rendering/UnitRenderer.ts @@ -37,6 +37,7 @@ import { // GPU-driven rendering infrastructure import { CullingService, EntityCategory } from './services/CullingService'; +import { getConsoleEngineSync } from '@/engine/debug/ConsoleEngine'; import { LODConfig } from './compute/UnifiedCullingCompute'; import { GPUIndirectRenderer } from './compute/GPUIndirectRenderer'; @@ -1013,10 +1014,13 @@ export class UnitRenderer { const isOwned = !isSpectating && ownerId === this.playerId; const isEnemy = !isSpectating && selectable && ownerId !== this.playerId; - // Check visibility for enemy units (skip in spectator mode - show all) + // Check visibility for enemy units (skip in spectator mode or if fog disabled - show all) let shouldShow = true; if (isEnemy && this.visionSystem && this.playerId) { - shouldShow = this.visionSystem.isVisible(this.playerId, transform.x, transform.y); + const fogDisabled = getConsoleEngineSync()?.getFlag('fogDisabled'); + if (!fogDisabled) { + shouldShow = this.visionSystem.isVisible(this.playerId, transform.x, transform.y); + } } // Skip dead units