From dcf12771d6eb9af2a95e52e2ada3272a55dbbba2 Mon Sep 17 00:00:00 2001 From: Dejvino Date: Sun, 4 Jan 2026 06:20:53 +0000 Subject: [PATCH] Feature: static stage lights before the show --- party-stage/src/scene/stage-lights.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/party-stage/src/scene/stage-lights.js b/party-stage/src/scene/stage-lights.js index 05004fe..78ca2b9 100644 --- a/party-stage/src/scene/stage-lights.js +++ b/party-stage/src/scene/stage-lights.js @@ -82,10 +82,29 @@ export class StageLights extends SceneFeature { baseX: x }); } + + // Initialize static random state for pre-party + this.staticColor = new THREE.Color().setHSL(Math.random(), 0.8, 0.5); + this.focusPoint.set((Math.random() - 0.5) * 20, Math.random() * 2, -10 + (Math.random() - 0.5) * 10); + this.targetFocusPoint.copy(this.focusPoint); } update(deltaTime) { const time = state.clock.getElapsedTime(); + + if (!state.partyStarted) { + this.lights.forEach((item) => { + const targetX = this.focusPoint.x + (item.baseX * 0.2); + item.target.position.set(targetX, this.focusPoint.y, this.focusPoint.z); + item.fixture.lookAt(targetX, this.focusPoint.y, this.focusPoint.z); + item.light.intensity = 30; + if (this.staticColor) { + item.light.color.copy(this.staticColor); + item.lens.material.color.copy(this.staticColor); + } + }); + return; + } // Change target area logic let shouldChange = false;