From c4de400e1167d56037b28195801e92dbe2cea86c Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 30 Jan 2026 03:05:28 +0000 Subject: [PATCH] fix: Force shadow update when entities first appear Fixes fabricator shadows not updating position at game start. The issue was that the shadow map rendered with needsUpdate=true before entities existed, then wouldn't update for 6+ frames after entities spawned. Now when transitioning from no entities to having entities, we force an immediate shadow update to ensure shadows are correct from the start. https://claude.ai/code/session_01FjaMgeHLjAMzrpaM6X1S6j --- src/rendering/EnvironmentManager.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/rendering/EnvironmentManager.ts b/src/rendering/EnvironmentManager.ts index 66dac6c9..8c974c65 100644 --- a/src/rendering/EnvironmentManager.ts +++ b/src/rendering/EnvironmentManager.ts @@ -419,6 +419,14 @@ export class EnvironmentManager { this.shadowUpdateInterval = hasMoving ? EnvironmentManager.SHADOW_UPDATE_INTERVAL_ACTIVE : EnvironmentManager.SHADOW_UPDATE_INTERVAL_STATIC; + + // When entities first appear, force immediate shadow update. + // This fixes initial unit shadows being stuck at wrong positions - + // the shadow map may have rendered before entities existed. + if (hasMoving && this.shadowsEnabled) { + this.shadowFrameCounter = 0; + this.directionalLight.shadow.needsUpdate = true; + } } }