diff --git a/app.js b/app.js index e58d86e..a630eb8 100644 --- a/app.js +++ b/app.js @@ -1234,6 +1234,28 @@ window.addEventListener('resize', () => { // === SOVEREIGNTY METER === +// === BATCAVE TERMINAL ENERGY BEAM === +// Vertical energy beam from Batcave terminal area to the sky with animated opacity for a subtle pulse effect. +const beamGeometry = new THREE.CylinderGeometry(0.2, 0.5, 50, 32); +const beamMaterial = new THREE.MeshBasicMaterial({ + color: NEXUS.colors.energy, + emissive: NEXUS.colors.energy, + emissiveIntensity: 0.8, + transparent: true, + opacity: 0.6 +}); +const energyBeam = new THREE.Mesh(beamGeometry, beamMaterial); +energyBeam.position.set(-10, 25, -10); // Positioned at Batcave terminal area +energyBeam.rotation.x = Math.PI / 2; +NEXUS.scene.add(energyBeam); + +// Animate beam opacity for subtle pulse effect +function animateBeam() { + beamMaterial.opacity = 0.6 + 0.2 * Math.sin(Date.now() * 0.002); + requestAnimationFrame(animateBeam); +} +animateBeam(); + // === BATCAVE TERMINAL ENERGY BEAM === // Vertical energy beam representing connection between Timmy and the outside world const beamGeometry = new THREE.CylinderGeometry(0.2, 0.5, 100, 32);